Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在每个单词后添加字符_Php_Implode - Fatal编程技术网

Php 在每个单词后添加字符

Php 在每个单词后添加字符,php,implode,Php,Implode,如何在每个单词后内爆字符 我尝试了以下方法: $query = implode("* ", preg_split("/[\s]+/", $query)); 但它总是忽略一个词。例如:test test将给我test*test,test将给我test,test test将给我test*test*test 还尝试了$query=内爆(“*”,str_split($query))但如果查询是西里尔文字符,它会让我胡言乱语。内爆会将字符串连接在一起,并在每个项目之间插入一个“粘合字符串” 如果要更改每

如何在每个单词后内爆字符

我尝试了以下方法:

$query = implode("* ", preg_split("/[\s]+/", $query));
但它总是忽略一个词。例如:
test test
将给我
test*test
test
将给我
test
,test test将给我
test*test*test


还尝试了
$query=内爆(“*”,str_split($query))
但如果查询是西里尔文字符,它会让我胡言乱语。

内爆
会将字符串连接在一起,并在每个项目之间插入一个“粘合字符串”

如果要更改每个字符串,可以使用

我希望您没有使用数据库查询(考虑到您的变量名)做一些古怪的事情。如果要使用变量db查询,请改用参数化查询

另一个“黑客”是对数组进行内爆,然后在结果字符串的末尾插入缺少的字符串:

implode('* ', $array) . '* ';
试试这个

<?php

$str = 'test test test test test';  
$str = implode("* ", explode(" ", $str))."* ";

echo $str;

尝试其他答案,也可以使用
preg\u replace
。但不推荐。当有一些干净的替代品可用时,避免使用
regex

<?php
  $query  = preg_replace( "/[\s]+/", "* ", $query )."*";
  echo $query;
?>

*
添加到
$query
的末尾手动添加“
*
”是否有问题?像
内爆(“*”,preg_split(“/[\s]+/”,$query))。“*”
<?php
  $query  = preg_replace( "/[\s]+/", "* ", $query )."*";
  echo $query;
?>
<?php
  $query  = explode( " ", "test test test test test" );
  $query  = array_map( function( $val ) {
    return trim( $val )."* ";
  }, $query );
  $query  = implode( "", $query );
  echo $query;
?>