Помогите с регулярным выражением

UnrealEvil

Guest
Помогите с регулярным выражением

Народ, не как не получается объединить два регулярных выражения
Мне надо выделить из текста слова, содержащие ТОЛЬКО буквы, апостроф и код
&#xxx; , где xxx – произвольное число.
Значит получается первая часть выражения такая
PHP:
 " /([[:alpha:]][[:alpha:]\']{3,44})/ "
А вторая типа такой
PHP:
 " /( &#[0-9]{3} ; )/  "
Помогите объединить эти выражения.
p.s. Искомое слово может начинаться и с кода.
 

UnrealEvil

Guest
sakon

Оба!
Возможно кодировка будет UTF-8.
 

UnrealEvil

Guest
PHP:
$pat=" /([[:alpha:]][[:alpha:]\']{3,44})/ ";
$str="12454priv32et <<<<tralivali>,!\t!  a&#455;llja!!!!!!!!!! lja'dfdfd lja tra-ta-ta tra 2434 3let Rig&#234; ir Latvijas Republikas galvaspils&#275;ta";
preg_match_all($pat,$str,$arr, PREG_PATTERN_ORDER);
$a=$arr[0];
foreach($a as $s)
echo "<br>".$s;
-~{}~ 13.02.05 14:25:

Может этот топик поместить в раздел PHP для продвинутых?
 

sakon

П..и.н..ок
$pat=" /([a-zA-Zа-яА-Я\']|(&#(\d){3};))[a-zA-Zа-яА-Я\']{1,40}|(&#(\d){3};)/si ";

В продвинутых этому топику нечего делать... Незнание (нежелание читать) документации не обозначает, что вопрос заинтересует "продвинутых"

Забыл...
Для UTF-8 надо добавить модификатор "u".
Подробности на http://ru3.php.net/manual/ru/pcre.pattern.modifiers.php
 

UnrealEvil

Guest
sakon
это выражение бъёт слова, когда встречается код.
допустим при
PHP:
$str='Rig&#234; ir Latvijas Republikas galvaspils&#275;ta';
резльтат получается
Rig
&#234;
ir
Latvijas
Republikas
galvaspils
&#275;ta

а мне надо получить полностью слова
тоесть
Rig&#234;
ir
Latvijas
Republikas
galvaspils&#275;ta
 

UnrealEvil

Guest
Попробовал со скобками помутить, что-то не получается...
Помоги, плз
 

sakon

П..и.н..ок
Автор оригинала: UnrealEvil
Попробовал со скобками помутить, что-то не получается...
Понимаю, что не пробывал.... Ели бы попробывал, то получилбы вот это:
PHP:
$pat=" /([a-zA-Zа-яА-Я\']|(&#(\d){3};)){1,40}/si ";
(да простят меня гуру...)


Надеюсь помогло....
 
Сверху