ホームページ  >  記事  >  バックエンド開発  >  PHP は文字列内のすべてのスペースを削除し、各文字の前後に「%」を追加します。

PHP は文字列内のすべてのスペースを削除し、各文字の前後に「%」を追加します。

WBOY
WBOYオリジナル
2016-06-13 13:20:18868ブラウズ

PHP は文字列内のすべてのスペースを削除し、各文字の前後に「%」を追加します

function str_split_unicode($str, $l = 0) {
     if ($l > 0) {
         $ret = array();
         $len = mb_strlen($str, "UTF-8");
         for ($i = 0; $i < $len; $i += $l) {
             $ret[] = mb_substr($str, $i, $l, "UTF-8");
         }
         return $ret;
     }
     return preg_split("//u", $str, -1, PREG_SPLIT_NO_EMPTY);
 }
 
$str = '  z   十   三';

echo strlen($str),'--strlen','<br>';
echo mb_strlen($str, 'utf-8'),'--mb_strlen','<br>';

$arrstr = str_split($str);
$arrstr = str_split_unicode($str);//符合要求

$temp='';
foreach ($arrstr as $val){
	$temp.= trim($val);
}
echo $temp, '<br>';//符合要求,去除空格后的字符串
$arrstr = str_split_unicode($temp);//符合要求
$temp='%';
foreach ($arrstr as $val){
	$temp.=$val.'%';
}
echo $temp,'<br>';//符合要求,加上‘%’后的字符串
echo mb_strlen($temp),'<br>';
echo mb_strlen($temp, 'utf-8');//符合要求





以下は Java コードを使用して実装されています
/**
 * 
 */
package cn.com.songjy.demo;

/**
 * @author songjianyong
 *
 */
public class LikeSqlConditionDemo {
	
	
	public static void main(String[] args) {
		System.out.println(getLikeSqlCondition("   aa  a d   "));//输出结果是:%a%a%a%d%
		
	}
	
	public static String getLikeSqlCondition(String condition){
		if(condition==null || condition.trim().length()==0)
			return null;
		
		condition = trim(condition);//去除空格
		
		String[] str = condition.split("");
		String temp = "";
		for (String string : str) {
			temp+=string+"%";
		}
		
		return temp;
	}
	
	public static String trim(String str){
		String temp = "";
		for(int i=0; i<str.length(); i++){
			temp = (new StringBuilder()).append(temp).append(str.substring(i, i+1).trim()).toString();
		}
		return temp;
	}

}



同様のステートメントをクエリするときに使用されます
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。