заменить слово из регулярного выражения в другое слово - PullRequest
0 голосов
/ 29 июля 2010

У меня есть следующий код, он выдает img-заголовок указанного текста,

скажем, название = waterfallfountainpicture20x20, как мне заменить слово фонтан на лагуну, чтобы оно стало waterfalllagoonpicture20x20?

preg_match_all('/<img[^>]+>/i',$html, $result);
$img = array();
foreach( $result[0] as $img_tag)
{
    preg_match_all('/(title)="([^"]*)"/i',$img_tag, $img[$img_tag]);
}

//print_r($img);
foreach ($img as $imgg)
 echo $imgg[2][0];

Большое спасибо за вашу помощь

Ответы [ 2 ]

1 голос
/ 29 июля 2010

хорошо, так как вы уже извлекли теги изображений, и похоже, что вы точно знаете, что заменяете (статический текст), может быть, лучше использовать str_replace , но если вы хотитеидти по маршруту регулярных выражений ...

preg_match_all('/<img[^>]+>/i',$html, $result);
$img = array();
$sub = "fountain";
$rep = "lagoon";
foreach( $result[0] as $img_tag)
{
    $img[] = preg_replace('/(title\s?=\s?["\'][^"\']*)'.$sub.'/i','${1}'.$rep,$img_tag);
}
0 голосов
/ 29 июля 2010

Не уверен, что правильно понял ваш вопрос. Вы можете попробовать использовать preg_replace вместо preg_match_all.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...