PHP搜索并插入特殊字符串

时间:2010-03-10 12:12:04

标签: php

我在表格中插入一组字符串。这是一个样本,

| = | 4 | = | 3 | = | 5 | = | 3 | = |是| = |没有评论。

有时我的字符串可能就像

| = | 4 | = | 3 | = | 5 | = | 3 | = |是| = |

对于这种情况,我想在| = |的末尾添加一个字符串(抱歉,没有数据)。

我的字符串可能就像

 |=|4|=|3|=|5|=|3|=|Yes|=| 

最后的那个符号是空的。在这种情况下,我还想在| = |。

的末尾追加这个字符串(抱歉,没有数据)

你能告诉我怎么做吗?

4 个答案:

答案 0 :(得分:2)

使用susbstr提取字符串结尾

if (substr($string, -3) == '|=|') 
    $string .= '(Sorry no data)';

或者使用一个空格字符

if (substr($string, -1) == ' ') 
        $string .= '(Sorry no data)';

你也可以用正则表达式实现同样的东西

答案 1 :(得分:1)

问题是,你为什么需要这样做?对我来说,听起来数据库的结构是错误的,并且您正试图将 n 变量保存到1个字段中(如果我是对的,请查看 {{3} } ,如果我错了,我会误解你的问题......)。

答案 2 :(得分:1)

试试这个:

$splitted = explode("|=|", $your_string);
if (count($splitted) < 6)
{
  $your_string .= "Sorry no data";
}

如果您想添加“抱歉没有数据”,如果最后一部分是“无评论”,请将if更改为:

if (count($splitted) < 6) || $splitted[5] == "No comments")

答案 3 :(得分:0)

$string = "|=|4|=|3|=|5|=|3|=|Yes|=|";
$var = explode("|=|",$string);
$pick_last_array = count($var);
$pick_last_array = $pick_last_array-1;
if(trim($var[$pick_last_array])==""){
    $my_last_val =  "Am coming";
}else{
    $my_last_val =  $var[$pick_last_array];
}

echo $my_last_val;

此代码段解决了我的问题。