小编Kir*_*rge的帖子

字符串操作preg_replace或str_replace

我需要用另一个单词替换一个单词.但

$var= str_replace($linklabel[$k], $linklabelmod[$k], $var);
Run Code Online (Sandbox Code Playgroud)

没有给出理想的结果.例如,我有一个字符串

$var="the theory of them thesis"; 
$linklabel[1]="the"; 
$linklabelmod[1]="hhh";
Run Code Online (Sandbox Code Playgroud)

我需要的是,我只想替换"the"这个词.但由于"the"在"理论","论文"和"他们"中重复出现,所有开始三个字母的人也都会被取代.然后输出变成 $ var ="hhh hhhh hhhh hhhsis"; //错误 但我需要输出 $ var ="hhh理论论文"; //写 我不好解释一个问题,请原谅我...

提前致谢....


从我(paxdiablo)可以从OP的评论中收集到的内容,这是修改后的代码(仍声称不起作用):

foreach($xpath->query('//a') as $element) {
    $linklabel[] = $element->textContent;
    $link[] = $element->getAttribute("href");
    $i=$i+1;
}
for($k=0;$k<$i;$k++) {
    $linklabelmod[$k] = str_replace($linklabel[$k], $linklabel[$k]."[$k]", $linklabel[$k]);
    $var = preg_replace ('/\b'.preg_quote($linklabel[$k]).'\b/', $linklabelmod[$k], $var);
}
print $var; //printing web page
Run Code Online (Sandbox Code Playgroud)

php string pcre

1
推荐指数
1
解决办法
524
查看次数

如何从字符串中删除"<"?

比方说,我有一个像$ x ="History [424] <"的字符串; 如何删除最后一个"<"并使字符串$ x ="History [424]"; ...我试过str_replace但不知道,它没有工作...... :(.提前做好

for($k=0;$k<$i;$k++) { 
    $linklabelmod[$k] = str_replace($linklabel[$k], $linklabel[$k]."[$k]", $linklabel[$k]); 
    //$var= str_replace($linklabel[$k], $linklabelmod[$k], $var); 
    print $linklabelmod[$k].'<&nbsp;&nbsp;&nbsp;'; 
    //print $linklabel[$k].'&nbsp;&nbsp;&nbsp;'; 
    print $link[$k].'<br>'; 
}
Run Code Online (Sandbox Code Playgroud)

php string

0
推荐指数
1
解决办法
138
查看次数

标签 统计

php ×2

string ×2

pcre ×1