网络营销电子商务研究中心

网络营销电子商务研究中心 (https://www.0058.net/index.php)
-   帝国Cms (https://www.0058.net/forumdisplay.php?f=72)
-   -   用[!--smalltext--]来做网站的description的话,怎么把smalltext的引号去掉? (https://www.0058.net/showthread.php?t=4676)

topvip 2014-03-26 08:09 PM

用[!--smalltext--]来做网站的description的话,怎么把smalltext的引号去掉?
 
我网站的内容经常会出现大量引号,帝国CMS的[!--pagedes--]输出的是文章标题。我用[!--smalltext--]来做网站的description的话,碰到简介里有引号就会导致引号后面的内容失效,我现在想把输出[!--smalltext--]前先把引号都替换为空,应该怎么做呢?

比如 <meta name="description" content="一位年轻的太太去侦探所找丈夫,"你好,我的丈夫不见了。”年轻太太说道。" />

我想改成 <meta name="description" content="一位年轻的太太去侦探所找丈夫,你好,我的丈夫不见了。年轻太太说道。" />

方法1如下:

<meta name="description" content="<?php $jianjie = $navinfor[smalltext]; $jianjie = str_replace(array('&quot;','&ldquo;','&rdquo;','\"','“','”'),"",$jianjie); echo $jianjie;?>" />

方法2如下:
<meta name="description" content="<?php
$jianjie = strip_tags( $navinfor[newstext] );
$jianjie=esub($jianjie, 180);
$jianjie = str_replace(array(PHP_EOL,'&amp;','&nbsp;','&quot;','&ldquo;','&rdquo;','\"','"','"'), "", $jianjie);
$jianjie=trim($jianjie);
$jianjie = preg_replace('/\s(?=\s)/','', $jianjie);
$jianjie = preg_replace('/\s{2,}| /','', $jianjie);
echo $jianjie;
?>
" />

方法3如下:
用strip_tags就可以了,即:

<meta name="description" content="<?php $jianjie = strip_tags($navinfor[smalltext]); echo $jianjie;?>" />

topvip 2014-03-26 10:49 PM

进一步删除空行及前后空格:
<meta name="description" content="<?php $jianjie = $navinfor[smalltext]; $jianjie = str_replace(array('&quot;','&ldquo;','&rdquo;','\"','“','”'),"",$jianjie); $jianjie = preg_replace("/(\r?\n)\\1+/","\\1",$jianjie); $jianjie = trim($jianjie); echo $jianjie;?>" />

或:

<meta name="description" content="<?php $jianjie = strip_tags($navinfor[smalltext]); $jianjie = preg_replace("/(\r?\n)\\1+/","\\1",$jianjie); echo $jianjie;?>" />

其中:
$jianjie = preg_replace("/(\r?\n)\\1+/","\\1",$jianjie); 删除空行
$jianjie = trim($jianjie); 删除前后空格


All times are GMT +8. The time now is 01:18 PM.

Powered by vBulletin Version 3.8.7
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.