Есть страница с которой необходимо извлечь имена
<p>Есть парень Артур</p>
<p>Есть смелый парень Мирон</p>
Можно, конечно было бы написать
/<p>Есть\s.*парень\s(.+)<\/p>/
но проблема в том, что код гораздо больше и если использовать ".*" то результата нет
Как с помощью "|" решить данную задачу
Спустя 5 минут, 26 секунд (7.12.2010 - 13:42) grawest написал(а):
Вам просто извлечь имена?
Спустя 3 минуты, 15 секунд (7.12.2010 - 13:45) beginer написал(а):
Да
Спустя 50 минут, 37 секунд (7.12.2010 - 14:36) grawest написал(а):
ну так...
Есть парень ЗАМЕНА
Есть смелый парень ЗАМЕНА
'/Артур|Мирон/'
или я не понял задания.$string = '<p>Есть парень Артур<br>Есть смелый парень Мирон</p>';Результат:
echo $string;
$pattern = '/Артур|Мирон/';
$replacement = 'ЗАМЕНА';
$string = preg_replace($pattern,$replacement,$string);
echo $string;
Есть парень ЗАМЕНА
Есть смелый парень ЗАМЕНА
Спустя 9 минут, 39 секунд (7.12.2010 - 14:46) beginer написал(а):
Наверное я неправильный пример привел (он вымышленный),
оригинал сложный.
Проблема в том, что я не знаю имен, рег.выр. как раз и должны выбрать эти имена
Могу ли я написать:
/<p>(?:Есть\s)|(?:Есть\s.*)парень\s(.+)<\/p>/
Перечисляя варианты:
(?:Есть\s) - <p>Есть парень Артур</p>
(?:Есть\s.*) - <p>Есть смелый парень Мирон</p>
Ну а РВ выберет имена и занесет их в массив
оригинал сложный.
Проблема в том, что я не знаю имен, рег.выр. как раз и должны выбрать эти имена
Могу ли я написать:
/<p>(?:Есть\s)|(?:Есть\s.*)парень\s(.+)<\/p>/
Перечисляя варианты:
(?:Есть\s) - <p>Есть парень Артур</p>
(?:Есть\s.*) - <p>Есть смелый парень Мирон</p>
Ну а РВ выберет имена и занесет их в массив