如何用字符 PHP 替换空 space
How to replace empty space with character PHP
我的字符串 $content 1stText 2ndText 3rdText 4thText, 5thText, 6thText
有一个奇怪的问题,我无法用字符替换空的 space。主要目的是我必须将我的字符串放入数组中,之后每个元素都会有自己的名称。但是,当我从另一个网站解析数据时,卡在了这里:
if ($child->nodeName == "div"){
$textContentArray = preg_split('/\n/', $child->textContent);
$counter = 0;
$counter2 = 0;
foreach ($textContentArray as &$value)
{
if (trim($value) != "")
{
$counter2++;
$string = preg_replace('/\s+/', ';', $content);
$test = explode(';', $string);
var_dump($string);
echo $string 给我
1stText2ndText3Text4Text;5Text;6Text
而 var_dump: string(2) "1stText" string(18) "2ndText" string(3) "3Text" string(16) "4Text"
4Text(4thText, 5thText, 6thText) 由三个词组成,因此在它们之间,字符“;”已添加,但在文本节点之间 - 不是。
我已经尝试了在这里找到的许多变体,简单的 str_replace 在这里不起作用。当我从 table 复制字符串时,也许这就是问题所在?但是,为什么我不能将它单独保存在数组中?
尝试用这种方法从带有 单个 space 的字符串中删除 额外的 spaces。然后尝试将单个 space 替换为 ;
字符,最后根据您希望得到的最终数组展开。
$str = preg_replace( "/\s+/", " ", $content );
#replaced multiple space with single space
$str = "1stText 2ndText 3rdText 4thText, 5thText, 6thText,";
$re = "/\s+/m";
$subst = ";";
$result = preg_replace($re, $subst, $str);
$final=explode(';',$result);
echo '<pre>';
print_r($final) ;
echo '</pre>';
编辑: print_r(array_map('trim',explode(";",$result)));
我的字符串 $content 1stText 2ndText 3rdText 4thText, 5thText, 6thText
有一个奇怪的问题,我无法用字符替换空的 space。主要目的是我必须将我的字符串放入数组中,之后每个元素都会有自己的名称。但是,当我从另一个网站解析数据时,卡在了这里:
if ($child->nodeName == "div"){
$textContentArray = preg_split('/\n/', $child->textContent);
$counter = 0;
$counter2 = 0;
foreach ($textContentArray as &$value)
{
if (trim($value) != "")
{
$counter2++;
$string = preg_replace('/\s+/', ';', $content);
$test = explode(';', $string);
var_dump($string);
echo $string 给我
1stText2ndText3Text4Text;5Text;6Text
而 var_dump: string(2) "1stText" string(18) "2ndText" string(3) "3Text" string(16) "4Text"
4Text(4thText, 5thText, 6thText) 由三个词组成,因此在它们之间,字符“;”已添加,但在文本节点之间 - 不是。
我已经尝试了在这里找到的许多变体,简单的 str_replace 在这里不起作用。当我从 table 复制字符串时,也许这就是问题所在?但是,为什么我不能将它单独保存在数组中?
尝试用这种方法从带有 单个 space 的字符串中删除 额外的 spaces。然后尝试将单个 space 替换为 ;
字符,最后根据您希望得到的最终数组展开。
$str = preg_replace( "/\s+/", " ", $content );
#replaced multiple space with single space
$str = "1stText 2ndText 3rdText 4thText, 5thText, 6thText,";
$re = "/\s+/m";
$subst = ";";
$result = preg_replace($re, $subst, $str);
$final=explode(';',$result);
echo '<pre>';
print_r($final) ;
echo '</pre>';
编辑: print_r(array_map('trim',explode(";",$result)));