1

現在、文字列の最初の部分を取得するために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"]);

1番目と2番目のサーバーでは次のようになります。apple3番目のサーバーでは何も得られませんでした。

最後の部分を削除してリンゴだけを入手する別の方法はありますか?(複数の「-」を含む他の文字列が含まれるようになる変更があるため、「-」では実行しません。例:アップルケーキ-&#60fruit&#60

(fruitも<fruit>と書かれていることは知っていますが、striptagsまたはstriptextを使用すると機能しません)。

それで、誰かがこの小さな厄介な問題で私を助けることができますか?よろしくお願いします!

4

1 に答える 1

1

ここでわかるように、(コメントされていない最初の行で使用する)の最後のパラメーターは、strstr($haystack, $needle, $before_needle)PHP5.3.0以降でのみ使用できます。3つの設定で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));
}
于 2011-12-27T08:57:42.110 に答える