0

使用以下字符串:

$string='some text <photo id="id#" /> some text';

制作一个 substr,如果其字符串的结尾是

<photo id="id#" />

然后应用一个额外的块来完成

"<photo id="id#" />"

例子:

substr($string,0,15);

结果是:

some text <phot

如果发生这种情况,我需要结束:

some text <photo id="id#" />

他,找不到这样做的方法。顺便说一下 id# 是一个随机数值,其长度不会超过 3 个字符。如果需要正则表达式来提出一个功能。

4

2 回答 2

2

看到这个: -

输出:-

在此处输入图像描述

<?php

$str= 'some text <photo id="#xx"/> some test';
$parts = preg_split('~(</?[\w][^>]*>)~', $str, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
echo '<pre>';
print_r($parts);
echo htmlentities($parts[1]);


$str_new= 'some text <photo id="#xx"></photo> some test';
$parts_new = preg_split('~(</?[\w][^>]*>)~', $str_new, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
echo '<pre>';
print_r($parts_new);
echo htmlentities($parts_new[1]);
echo htmlentities($parts_new[2]);

?>
于 2012-08-29T07:32:36.447 回答
0

无需使用正则表达式,只需使用 PHP 字符串函数即可:

$string = 'some text <photo id="id#" /> some text';
$newString = substr($string, 0, strpos($string, '>') + 1);
于 2012-08-28T19:27:46.677 回答