strstr php 或替代部分字符串

发布于 2024-12-22 21:33:10 字数 836 浏览 1 评论 0原文

目前我正在使用 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 - cake - &#60fruit&#60

(我知道Fruit 也写为:,但使用 striptags 或 striptext 则不起作用)

那么有人可以帮助我解决这个恼人的小问题吗? 提前非常感谢!

At the moment I'm using strstr() for getting the first part of a string. I have my project running on 3 servers.
1. development server
2. test server
3. live server

the strstr() works fine on the development server and test server, but the moment I place my project live, the strstr prints nothing. for example:

I use this code:

//$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"]);

On the first and second server I get this:
apple
On my 3rd server I got nothing.

Is there another way to remove the last part so I only get apple? (I don't want to do it on the "-" because there is a change that I will have other strings with multiple "-" in it. for example: apple - cake - <fruit<

(I know fruit is also written as: <fruit>, but with striptags, or striptext It wouldn't work).

So can someone help me with this little annoying problem?
Thank you so much in advance!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

落墨 2024-12-29 21:33:10

正如您可以看到此处 <的最后一个参数code>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));
}

As you can see here the last parameter of strstr($haystack, $needle, $before_needle) (you uses it in your first non-commented line) is available only in PHP 5.3.0+. Check your PHP version on your three setups.

Anyway, you can emulate it in older PHP version using something like:

function my_strstr($haystack, $needle, $before_needle = false) {
    if (!$before_needle) return strstr($haystack, $needle);
    else return substr($haystack, 0, strpos($haystack, $needle));
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文