Yii 2-WangEditorWidgetアップロード後のデータベースフィールドのフォーマット
10155 ワード
/**
* , ,
*/
public function formatContent($content, $type = 'insert')
{
$imgUrlPrefix = rtrim(Yii::$app->params['cdn_url_prefix'], '/');
$urlData = parse_url($imgUrlPrefix);
$host = $urlData['host'];
$scheme = $urlData['scheme'];
//
if($type == 'insert'){
// js
$pattern = "//i";
$content = preg_replace($pattern, '', $content);
//
$pattern = "/<style[\s\S]*?<\/style>/i";
$content = preg_replace($pattern, '', $content);
// img
$pattern ="/<((?!img)[a-z][a-z0-9]*)[^>]*?(\/?)>/i";
$content = preg_replace($pattern,'<$1$2>', $content);
// word font
$pattern = "/<font[\s\S]*?>([\s\S]*?)<\/font>/i";
$content = preg_replace($pattern, '$1', $content);
// font
$pattern = "/<\/font>|<font[\s\S]*?>/";
$content = preg_replace($pattern, '', $content);
// word xml
$pattern = "/<!--\[if gte mso 9\]>[\s\S]*?<!\[endif\]-->/";
$content = preg_replace($pattern, '', $content);
// div
$pattern = "/<\/div>|<div[\s\S]*?>/";
$content = preg_replace($pattern, '', $content);
// p
$pattern = "/<p><br><\/p>|<p><\/p>/";
$content = preg_replace($pattern, '', $content);
// , p
$pattern = "/<\/p>((?!<p>)[\s\S]+?)<p>/";
$content = preg_replace($pattern, "</p><p>$1</p><p>", $content);
// , p
$pattern = "/<\/p>((?!<p>)[\s\S]+?)$/";
$content = preg_replace($pattern, "</p><p>$1</p><p>", $content);
//
$content = strip_tags($content, '<p><img><br>');
}
// , ,
$pattern = '/<img .*?src=[\"|\'](.*?)[\"|\'].*?\/?>/i';
if(preg_match_all($pattern, strip_tags($content,'<img>'), $matches) > 0)
{
if($type == 'insert'){
foreach($matches[1] as $key=>$value){
$urlInfo = parse_url($value);
if($urlInfo['scheme']."://".$urlInfo['host'] == $scheme.'://'.$host){
$replace = str_replace($imgUrlPrefix, '', $matches[0][$key]);
$content = str_replace($matches[0][$key], $replace, $content);
}else{
$content = str_replace($matches[0][$key], '', $content);
}
}
$content = preg_replace('/title\s*=\s*[\"|\'].*?[\"|\']/', '', $content);
}elseif($type == 'detail'){
foreach($matches[1] as $value){
if(substr($value, 0 , 1) !== '/'){
$replace = $imgUrlPrefix.'/'.$value;
}else{
$replace = $imgUrlPrefix.$value;
}
$content = str_replace($value, $replace, $content);
}
}
}
// src img
$img_preg = "/<img(?![^<>]*?src[^<>]*?>).*?>/i";
preg_match_all($img_preg,$content,$match);
if (isset($match[0]) && count($match[0]))
{
foreach ($match[0] as $item) {
$content=str_replace( $item,'',$content);
}
}
return $content;
}</pre>
</div>
</div>
</div>
</div>
</div>
<!--PC WAP -->
<div id="SOHUCS" sid="1281148600587403264"></div>
<script type="text/javascript" src="/views/front/js/chanyan.js">
興味があるかもしれませんどうしてそうする必要があるのか
jsp ハイパーリンク ファイルのダウンロード ウィンドウ
bit1129
cluster
daizj
linux インストール spark 1.4 配置
周凡楊
java バイトコード javap
g21121
java
Aさんは振り回さない
finereport
塀の上に草が1本ある
aijuans
spring トランザクション管理
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z その他
トップページ -
私たちについて -
構内検索 -
Sitemap -
権利侵害苦情
著作権すべてのIT知識ベースCopyRight© 2000-2050 IT知識ベースIT 610.com , All Rights Reserved.
京ICP備09083238号