PHP str_replace с шаблоном из БД

1

Я схожу с ума от этого... Я пытаюсь удалить какой-либо текст, используя базу данных строк, которые нужно удалить. Это моя функция:

function remove($str){
    $query = "SELECT * FROM 'deltext' ORDER BY 'freq' DESC";
    $rslt = mysql_query($query) or die("Error: " . mysql_error());
    while ($row= mysql_fetch_array($rslt)){
        $str=str_replace($row['text'],"",$str);
    }
    return $str;
}

Текст, который я пытаюсь удалить, следующий:

">Lavora con noi
>Posizioni Aperte
</p>"

Следующее работает отлично:

$str=str_replace("&gt;Lavora con noi
&gt;Posizioni Aperte
</p>","Paperino",$str);

Но если я попытаюсь использовать базу данных, это не сработает, кто-нибудь знает почему?

Спасибо Валерио

Теги:
database
text
replace
str-replace

1 ответ

0

вы можете использовать функцию REPLACE, просто удалите * из своего запроса и извлеките то, что вам нужно, только как

SELECT REPLACE(deltext.text_name, "_", " ") FROM 'deltext' ORDER BY 'freq' DESC

также ваш запрос плохо написан, почему вы обновляете $ str каждый раз, я думаю, вы должны использовать $ str в качестве массива.

также вы можете попробовать это

str_replace(html_entity_decode('&ndash;', ENT_COMPAT, 'UTF-8'), '', $string);
  • 0
    Полезно знать, но я не могу использовать REPLACE, потому что текст, который мне нужно изменить, отсутствует в базе данных

Ещё вопросы

Сообщество Overcoder
Наверх
Меню