本文目录一览:
怎么用php分割汉语字符串?
这样当然不行了,又没有什么规律。
你可以这样处理:
先将字符串中的 "。。" 替换为 "_" ,处理一遍之后:$string=“我是好孩子_。我是好学生_哦耶"
再将里面的一个"。"给去除掉,不就是:$string=“我是好孩子_我是好学生_哦耶"
再通过"_"分割一下,就是你想要的结果。 这种方法不怎么好,不过可以实现功能。
还有一种方法就是用正则表达式来替换"。。。" 或"。。",不过我没学过正则,你可以试试。
参考一下这个例子:
?php
// 分隔符可以是斜线,点,或横线
$date = "04/30/1973";
list($month, $day, $year) = split ('[/.-]', $date);
echo "Month: $month; Day: $day; Year: $yearbr /\n";
?
PHP网站如何做中英文切换的功能
做个多套语言包....
比如页面里 登陆 这个按钮... 你可以用 A代替... lang(A)
然后语言包里 汉语 A = '登陆' 英语 A = 'login'
lang 假定是个函数... 你点击英语.. lang 读取英文的包.. 你点击汉语.. lang 读取汉语的包...
为什么说PHP是世界上最好的语言
部署简单
很多其他行业的公司,希望有一个网站,他们并没有多少预算在网站上,可能只是随便买了一个虚拟主机,这时恐怕最好的选择就是 PHP 了。支持 Ruby, Python 之类的语言的虚拟主机很少,ASP 需要 Windows 的服务器,只有 PHP 可以运行在任何一家虚拟主机上。-汉语php
学习门槛低
一开始 PHP 是专为 Web 设计的语言(虽然现在已经在向通用编程语言靠拢了), 学习和使用门槛很低,建一个 .php 文件就是网页,用 $_GET['XXOO'] 就可以获取到 GET 参数。而其他通用编程语言,原生并不支持这些与 HTTP 协议相关的功能,这时就需要选择并学习一款 HTTP 框架才能编写 Web 应用,例如 Tornado(Python), Ruby on Rails 等。-汉语php
语法简单
PHP 一开始是弱类型的(现在只是不那么弱了而已,还算不上强类型),几乎不需要考虑类型转换的事情,甚至在一开始很长的一段时间里,都没有支持面向对象。PHP 可以非常简单地从数据库中存取数据,而一半的网站也无非是从数据库中读写数据。-汉语php
因为 PHP 是以 CGI 或 FastCGI 的形式运行的,因此也不必考虑内存管理的问题,反正每次请求后,内存都会被释放。
PHP 的错误处理机制也很简单——如果出错就在页面上打印错误信息。想要关闭错误提示也同样简单。
很多重量级的开源项目
如 WordPress(博客), Typecho(博客), Drupal(CMS), MediaWiki(WIKI), DiscuzX(论坛) 等等,可以说想要不折腾地部署一个网站 PHP 就是最佳选择。-汉语php
经过了历史考验
PHP 毕竟也算是老牌 Web 编程语言了,能踩的坑已经被前辈踩过了,大量的库可以重用,要招会 PHP 的开发人员也很容易,而 Node.js, Golang 等等新语言则会遇到技术储备,人才储备方面的问题。而 Python, Ruby 也不要高兴得太早——虽然你们很早就被发明出来了,但那时候还没多少人搞 Web 开发。-汉语php
php要截取一段汉语文字,怎样才能保证不把汉字拆开?
还得看你的编码是gbk的还是UTF8的。
以下是UTF-8的编码下的截取
function smarty_modifier_truncate_utf8($string, $length, $etc = '...')
{
$result = '';
$string = html_entity_decode(trim(strip_tags($string)), ENT_QUOTES, 'UTF-8');
$strlen = strlen($string);
for($i = 0; (($i $strlen) ($length 0)); $i++)
{
if($number = strpos(str_pad(decbin(ord(substr($string, $i, 1))), 8, '0', STR_PAD_LEFT), '0'))-汉语php
{
if($length 1.0)
{
break;
}
$result .= substr($string, $i, $number);
$length -= 1.0;
$i += $number - 1;
}
else
{
$result .= substr($string, $i, 1);
$length -= 0.5;
}
}
$result = htmlspecialchars($result, ENT_QUOTES, 'UTF-8');
if($i $strlen)
{
$result .= $etc;
}
return $result;
}
以下是GBK编码下的截取(常用)
function gbk_strlen($string)
{
if(extension_loaded('mbstring'))
{
mb_internal_encoding('GBK');
return mb_strlen($string);
}
else
{
preg_match_all('/[\x81-\xfe]?./', $string, $match);
return count($match[0]);
}
}
function gbk_substr($string, $start, $length = null)
{
if(extension_loaded('mbstring'))
{
mb_internal_encoding('GBK');
if(is_null($length))
{
return mb_substr($string, $start);
}
else
{
return mb_substr($string, $start, $length);
}
}
else
{
preg_match_all('/[\x81-\xfe]?./', $string, $match);
if(is_null($length))
{
return implode('', array_slice($match[0], $start));
}
else
{
return implode('', array_slice($match[0], $start, $length));
}
}
}
function smarty_modifier_truncate_gbk($string, $length = 80, $etc = '...',
$break_words = false, $middle = false)
{
if ($length == 0)
return '';
if (gbk_strlen($string) $length) {
$length -= gbk_strlen($etc);
if (!$break_words !$middle) {
$string = preg_replace('/\s+?(\S+)?$/', '', gbk_substr($string, 0, $length+1));
}
if(!$middle) {
return gbk_substr($string, 0, $length).$etc;
} else {
return gbk_substr($string, 0, $length/2) . $etc . gbk_substr($string, -$length/2);
}
} else {
return $string;
}
}