如何从字符串中删除最后一次出现的OR

时间:2017-10-11 04:52:34

标签: php

我只想问我要从后面的字符串中删除最后一个OR。

$string = 'b.dates LIKE "2017-10-13%" OR 
b.dates LIKE "2017-10-14%" OR 
b.dates LIKE "2017-10-15%" OR 
b.dates LIKE "2017-10-16%" OR 
b.dates LIKE "2017-10-17%" OR';

5 个答案:

答案 0 :(得分:6)

$ character表示字符串的结尾。

preg_replace("/OR$/", '', $str );

rtrim($str, ' OR');

答案 1 :(得分:3)

这可能对您有用:

strrpos - 查找字符串中最后一次出现的子串的位置

$string = 'b.dates LIKE "2017-10-13%" OR 
b.dates LIKE "2017-10-14%" OR 
b.dates LIKE "2017-10-15%" OR 
b.dates LIKE "2017-10-16%" OR 
b.dates LIKE "2017-10-17%" OR';    


echo substr_replace($string,'', strrpos($string, 'OR'), 2);

输出:

  

b.dates LIKE“2017-10-13%”或b.dates喜欢“2017-10-14%”或b.dates   比如“2017-10-15%”或者说,像“2017-10-16%”或者说类似   “二零一七年十月十七日%”

工作演示:http://codepad.org/rw3q40mk

答案 2 :(得分:3)

<?php
$hello ="dddOR";
echo rtrim($hello,"OR");
?>

http://php.net/rtrim

答案 3 :(得分:2)

删除最后3个字符

substr($string, 0, -3);

答案 4 :(得分:1)

您可以使用内置的php str_replace()函数从字符串中删除 OR 的所有内容,如下所示。

$res = str_replace("OR", "",$string);
echo ($res);

<强>结果:

b.dates LIKE&#34; 2017-10-13%&#34;

b.dates LIKE&#34; 2017-10-14%&#34;

b.dates LIKE&#34; 2017-10-15%&#34;

b.dates LIKE&#34; 2017-10-16%&#34;

b.dates LIKE&#34; 2017-10-17%&#34;

删除上次使用或使用下面的代码

echo substr($string, 0,strrpos($string,"OR"));

<强>结果 b.dates LIKE&#34; 2017-10-13%&#34;或者b.dates LIKE&#34; 2017-10-14%&#34;或者b.dates LIKE&#34; 2017-10-15%&#34;或者b.dates LIKE&#34; 2017-10-16%&#34;或者b.dates LIKE&#34; 2017-10-17%&#34;

了解更多信息,请访问http://php.net/manual/en/function.str-replace.php