Рассмотрите эту строку
hello awesome stuff stuff
Какое регулярное выражение можно использовать для сопоставления любого появления Awesome, которое не отображается в атрибуте заголовка привязки?
Пока что у меня получилось вот что (к сожалению, не работает)
/[^."]*(awesome)[^."]*/i
Изменить
Я воспользовался советом Алана М. и использовал регулярное выражение, чтобы захватить каждое слово и отправить его в обратный вызов. Спасибо Алан М за ваш совет. Вот мой окончательный код.
$plantDetails = end($this->_model->getPlantById($plantId));
$botany = new Botany_Model();
$this->_botanyWords = $botany->getArray();
foreach($plantDetails as $key=>$detail) {
$detail = preg_replace_callback('/\b[a-z]+\b/iU', array($this, '_processBotanyWords'), $detail);
$plantDetails[$key] = $detail;
}
И _processBotanyWords()...
private function _processBotanyWords($match) {
$botanyWords = $this->_botanyWords;
$word = $match[0];
if (array_key_exists($word, $botanyWords)) {
return '' . $word . '';
} else {
return $word;
}
}
Подробнее здесь: https://stackoverflow.com/questions/805 ... found-in-t
Заменить указанное слово в строке, содержащей элементы HTML, если оно не найдено в значении атрибута title тега . ⇐ Php
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение