《PHP解决百度ueditor编辑器清除title属性并修改alt》要点:
本文介绍了PHP解决百度ueditor编辑器清除title属性并修改alt,希望对您有用。如果有疑问,可以联系我们。
百度UEDITOR编辑器提交文章,其中的title是数字值,并且会有alt属性,其值是图片在本地电脑上的原名。
前面说过在UE源码上修改的方法。这里发一个维易PHP的服务端处理函数:
函数功能:
可以清除title也可以保留但更换成指定文章标题的。
可以给新标题加上序列号,增加SEO差异度。
使用方法:$artTitle = '这是新的标题';
echo resetContentTitle($content, $artTitle,1);
函数代码:/** 给百度ueditor编辑器内容处理title为数字,改为文章标题
* http://www.vephp.com 维易PHP
* 自由分享,请保留网址,谢谢
* @param $content 文章内容
* @param string $artTitle 文章标题
* @param int $clearTitle 是否去掉title属性。1去掉title属性, 2 保留title,使用新标题内容
* @param bool $useSn 在添加新标题时,是否给标题加上序号,比如:这是新的标题1,这是新的标题2...
* @return mixed 新的文章内容,也可不使用返回值,因为是直接在原文章内容上处理,执行完函数内容已变更
*/
function resetContentTitle(&$content, $artTitle='', $clearTitle =1, $useSn=true)
{
$reg = '#(]* )(title\s*=\s*[\'\"](?:\s*[0-9a-zA-Z\+\-\.\_]+\.(?:jpeg|jpg|png|gif|bmp))?[\'\"])([^>]*>)#is'; #清除title
preg_match_all($reg, $content,$title);
if(!empty($title[0]) && $clearTitle)
{
foreach ($title[1] as $k=>$html)
{
$titleTag = ($clearTitle>1 && !empty($artTitle)) ? ' title="'.$artTitle.($useSn?$k+1:'').'" ' : ' ';
$newImgCode = trim($title[1][$k]).$titleTag.trim($title[3][$k]);
$content = str_replace($title[0][$k], $newImgCode,$content);
}
}
//处理alt,保留以利SEO
$reg = '#(]* )(alt\s*=\s*[\'\"](?:\s*[0-9a-zA-Z\+\-\.\_]+\.(?:jpeg|jpg|png|gif|bmp))?[\'\"])([^>]*>)#is'; #更换alt
preg_match_all($reg, $content,$alt);
if(!empty($alt[0]))
{
foreach ($alt[1] as $k=>$html)
{
$altTag = !empty($artTitle) ? ' alt="'.$artTitle.($useSn?$k+1:'').'" ' : ' ';
$newImgCode = trim($alt[1][$k]).$altTag.trim($alt[3][$k]);
$content = str_replace($alt[0][$k], $newImgCode,$content);
}
}
return $content;
}