есть вот так: PHP: if (eregi("ABC",$msg)) {echo"В тексте есть ABC";} а надо сделать чтобы можно было сказать , что "Текст начинается с букв ABC" Помогите пожалуйста
конечно понятно, но я думал что это форум для новичков. не думаю что они смогут разобраться с рег. выражениями так быстро.
Viktor1 # - это символ-ограничитель, который указывает на то, что между ним есть регулярное выражение.
Я посмотрел в интернете и нигде не нашел с диезами, видел только со слешами / значит нужно так?: PHP: if (eregi("#^ABC#",$msg)) {echo"Начинается с ABC";} а если я сделал без диезов то это может не всегда сработать или что?
прицеплюсь хвостом к этой теме, дабы не плодить новые есть строка вида Вот из этой строки требуется вырвать название города (оно любое может быть) + название информ-агенства. мануалы пытался читать, но видимо мозги не те, все на что меня хватило - это на Код (Text): '/, ИА «Круг-информ»/.$' В ответ неизменно получаю тишину. подскажите плиз правильную регулярку...
Vizit0r PHP: <? // шаблон города (любые символы кроме зяпятой) $city = '[^,]+'; // шаблон информ-агенства (любые символы кроме закрывающей кавычки-ёлочки) $ia = '[^»]+'; // собираем регулярку // 1. нужные подстроки берем в скобки $re = "($city), ИА «($ia)»"; // 2. добавляем метасимвол начала данных (^) $re = "^$re"; // 3. по краям ставим ограничитель регулярки (#) $re = "#$re#"; // пробуем $str = 'Одесса, ИА «Круг-информ». В муниципальном бюджете города...'; $found = preg_match($re, $str, $subpatterns); if ($found) { list(, $city, $ia) = $subpatterns; echo "Город: $city, ИА: $ia"; } else { echo 'Не найдено'; }
Ti спасибо огромное! ищет отлично, но задача чуть другая: Имеется ввиду что вместо этогонайденного фрагмента должен быть пробел или просто '' Итого из строки 'Одесса, ИА «Круг-информ». В муниципальном бюджете города...' должно получиться 'В муниципальном бюджете города...' при этом не должно захватываться сообщения в середине текста вида "как сообщили ИА «Круг-информ» в пресс-центре...", потому привязываюсь к запятой перед ИА «Круг-информ» и точке после. пробовал preg_replace($re, 'x', $str); в ответ тишина - никаких замен.
Vizit0r Я Вам ответил что бы научить строить регулярные выражения. Если Вам моего ответа мала, снова читайте мануал "до полного просветления"
Ti, я бы с удовольствием прочитал и попытался бы разобраться, но в условиях, когда начальство говорит "до конца недели РСС должно экспортироваться", а помимо него еще тонна всего остального - я банально не имею на это времени. что ж, и на том спасибо