strstr php или альтернативная строка детали - PullRequest
1 голос
/ 27 декабря 2011

В данный момент я использую strstr () для получения первой части строки.Мой проект работает на 3 серверах.1. сервер разработки 2. тестовый сервер 3. живой сервер

strstr () отлично работает на сервере разработки и тестовом сервере, но в тот момент, когда я размещаю свой проект в режиме реального времени, strstr ничего не печатает.например:

Я использую этот код:

//$product["titel2"] = "apple - &#60fruit&#60";
 $product["titel2"]=(strstr($product["titel2"], "&#60domino"))?strstr($product["titel2"], "&#60fruit",true):$product["titel2"];
 $str_product_titel = stripText(!empty($product["titel"]) && preg_match("/^<!--/",stripText($product["titel"]))==0?$product["titel"]."":$product["titel2"]);

На первом и втором сервере я получаю это: apple На моем 3-м сервере у меня ничего нет.

Есть лидругой способ удалить последнюю часть, чтобы я получил только яблоко?(Я не хочу делать это с "-", потому что есть изменение, что у меня будут другие строки с несколькими "-" в нем. Например: яблочный пирог -

(Я знаю, что фрукты также пишутся как: , но со стрип-тэгами или стрип-текстом. Это не сработает).

Так может ли кто-нибудь помочь мне с этой маленькой досадной проблемой?1015 *

1 Ответ

1 голос
/ 27 декабря 2011

Как вы можете видеть здесь последний параметр 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));
}
...