У меня есть этот PHP кодPHP, как заменить точные слова в строке
$filename = "verbs.php"; // http://alylores.x10.mx/vega/verbs2.php
$handle = fopen($filename, "r");
$verbs = fread($handle, filesize($filename));
fclose($handle);
и я использовал PHP explode()
функция
разделить слова в массив
$verbslist = explode(",", $verbs);
и у меня также есть строка, например:
$sentence = "Where is Phisz' dog?";
, а затем я использовал функцию str_replace()
, чтобы удалить глаголы и некоторые конкретные слова из предложения, так что единственным левым будет тема (ы).
$newsentence = str_replace($verbslist,"",$sentence);
но результат:
новый Приговор: Phz' dog?
// is
на Phisz
был также удален.
и я понял, что проблема заключается в том, что слова Phisz
содержат is
которые также были удалены с помощью str_replace()
.
что я хочу, как я могу удалить слова/вебы из предложения, не затрагивая другие слова. Я имею в виду удаления EXACT VERB/СЛОВО ..... и в случае нечувствительной ...
, что ожидаемый результат будет как этот
новое предложение: Phisz' dog?
вы хотите использовать 'preg_quote()' на '$ verb' в случае, если слово содержит мета-символы – Cal
ааа, хорошая точка. – deceze
ваш ответ дает мне точку сэр ... спасибо ... однако я нашел это также .... $ verbslist = str_replace (",", "|", $ verbs); $ pattern = "/\b(".$verbslist.") \ B/I"; $ newq2 = preg_replace ($ pattern, "", $ newq); –