我尝试在指定字符出现后剪切文本,在这种情况下:
“
文本示例是:
...text?“ Text,
我尝试了以下内容:
$pos2 = strpos($title, '“');
if ($pos2 == true) {
$header_title = substr($title, 0, $pos2);
{
但它总是削减“
。我把数字添加到$ pos2但我无法解决这个问题。如何在指定字符后剪切?
答案 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>
答案 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