На данный момент я использую strstr () для получения первой части строки. У меня есть проект на трех серверах. 1. сервер разработки 2. тестовый сервер 3. живой сервер
strstr () отлично работает на сервере разработки и тестовом сервере, но в тот момент, когда я размещаю проект в прямом эфире, strstr ничего не печатает. например:
Я использую этот код:
//$product["titel2"] = "apple - <fruit<"; $product["titel2"]=(strstr($product["titel2"], "<domino"))?strstr($product["titel2"], "<fruit",true):$product["titel2"]; $str_product_titel = stripText(!empty($product["titel"]) && preg_match("/^<!--/",stripText($product["titel"]))==0?$product["titel"]."":$product["titel2"]);
На первом и втором сервере я получаю это: apple На моем третьем сервере я ничего не получил.
Есть ли другой способ удалить последнюю часть, поэтому я получаю только яблоко? (Я не хочу делать это на «-», потому что есть изменение, что у меня будут другие строки с несколькими «-» в нем, например: apple – cake – & # 60fruit & # 60
(Я знаю, что плод также написан как: <fruit>, но со стригмагами или striptext Это не сработает).
Так может кто-нибудь помочь мне с этой немного раздражающей проблемой? Огромное спасибо заранее!
Как вы можете видеть здесь, последний параметр strstr($haystack, $needle, $before_needle)
(вы используете его в первой строке без комментариев) доступен только в PHP 5.3.0+. Проверьте свою версию PHP на трех ваших настройках.
Во всяком случае, вы можете эмулировать его в старой версии PHP, используя что-то вроде:
function my_strstr($haystack, $needle, $before_needle = false) { if (!$before_needle) return strstr($haystack, $needle); else return substr($haystack, 0, strpos($haystack, $needle)); }