在php中指定字符后剪切字符串

时间:2016-07-12 21:08:30

标签: php wordpress character

我尝试在指定字符出现后剪切文本,在这种情况下:

文本示例是:

...text?“ Text,

我尝试了以下内容:

$pos2 = strpos($title, '“');
if ($pos2 == true) {
             $header_title = substr($title, 0, $pos2);
    {

但它总是削减。我把数字添加到$ pos2但我无法解决这个问题。如何在指定字符后剪切?

2 个答案:

答案 0 :(得分:2)

strpos()命令需要3个参数

1)变量

2)开始栏和

3)字符数

如果您只使用substr($title,$pos2),则会将pos2列中的文本添加到字符串的末尾。

<?php
$title = 'before“after';
$pos2 = strpos($title, '“');
if ($pos2 !== false) {
    $header_title = substr($title,0, $pos2+1);
} else {
    // you might want to set $header_title to something in here
    $header_title = 'ELSE';
}
echo $header_title;

RESULT

before“

如果没有找到您要搜索的字符,则测试not equal false作为strpos返回FALSE

  

在下面的所有讨论之后,我在我的本地Apache / PHP上运行它

<?php
$title = 'before“after';
$pos2 = strpos($title, '“');
if ($pos2 !== false) {
    $header_title = substr($title,0,$pos2+1);
} else {
    // you might want to set $header_title to something in here
    $header_title = 'ELSE';
}
?>
<!DOCTYPE html>
<html>
<head>
    <title><?php echo $header_title;?></title>
</head>
<body>

    <div> Ello Wurld</div>

</body>
</html>

产地: enter image description here

答案 1 :(得分:0)

我认为这对任何人都有帮助:

$title = 'sometext?"othertext';
$pos2 = strpos($title, '"');

$title = substr($title, 0, $pos2+1);

echo $title;

输出:

  

sometext?“

如果您想要"标记后面的文字:

$title = 'sometext?"othertext';
$pos2 = strpos($title, '"');

$title = substr($title, $pos2+1);

echo $title;

输出:

  

othertext