Autor Zpráva
JersyWoo
Profil
Dejme tomu, že mám smyšlený řetězec v kterém zvýrazním důležité části:
$text="fhdjskj gfdgfd sgfd %hjkjd|ds% fjkdslafjsdkjkl ";

a regulérní výraz, který hledá (s podmínkou) ty zvýrazněné části:
$vzorec="\%([^*\%\n]*)\|([^*\%\n(http)]*)\%";

Potřebuji nějak (funkce?) část z $text dostat pomocí $vzorec do $nalezeno . Hledal jsem nějakou vhodnou funkci a žádnou jsem nenašel. Tak mě napadlo zpracovat to pomocí EREGů a STRů. Skončil jsem na myšlence použít EREG, který by mi vrátil první pozici řetězce v textu, ale zase bych neměl poslední pozici, protože nevím jak hledaný řetězec je dlouhý? Nenapadá vás někoho jak na to? Zároveň řešení musí být kompaktibilní, že když takových výrazů bylo více, aby to použilo jenom první nalezený výraz.
kaifman
Profil
zkus

preg_match('/\%([^*\%\n]*)\|([^*\%\n(http)]*)\%/',$text,$pole);

var_dump($pole); by melo dat

$pole[0] bude %hjkjd|ds%
$pole[1] bude %hjkjd
$pole[2] bude ds%
Toto téma je uzamčeno. Odpověď nelze zaslat.

0