|
|
|
| Есть строка, в которой надо удалить слова по шаблону. Слов (и фраз) тысячи и всё разное, но шаблон один.
Как удалить, например из строки ниже всё, что =X c последующей разделительной палочкой, если известно второе слово X .
Делал в том числе так:
$slovo="мир";
$stroka="|дети=любовь|слова=мир|star=небо|дела и жизнь=счастье|небо=красота|люди=мир|города=страны|цветы=растения|в красках=мир|солнце=красота|счастье=мир|";
$stroka_new=preg_replace("/[a-Z]*=$slovo+|/","",stroka);
echo $stroka_new;
|
Не удаляет :( | |
|
|
|
|
|
|
|
для: Владимир22
(08.06.2011 в 11:50)
| | подправил регулярку
<?
$slovo="мир";
$stroka="|дети=любовь|слова=мир|star=небо|дела и жизнь=счастье|небо=красота|люди=мир|города=страны|цветы=растения|в красках=мир|солнце=красота|счастье=мир|";
$stroka_new=preg_replace("/[а-я\s]+=$slovo\|/","",$stroka);
echo $stroka_new;
?>
|
| |
|
|
|
|
|
|
|
для: Ильдар
(08.06.2011 в 12:37)
| | Добавлю лишь, что переменную $slovo, которая подставляется в регулярное выражение стоит пропустить через функцию preg_quote(). | |
|
|
|
|
|
|
|
для: cheops
(08.06.2011 в 13:16)
| | почему? | |
|
|
|
|
|
|
|
для: Ильдар
(08.06.2011 в 13:21)
| | Ну мало ли, точки встретятся или какие-то другие спец.символы, которые нужно будет сохранить. | |
|
|
|
|
|
|
|
для: cheops
(08.06.2011 в 13:33)
| | Всем спасибо!!! | |
|
|
|