目次
回复内容:
ホームページ バックエンド開発 PHPチュートリアル php解析Kindeditor中内容分页问题

php解析Kindeditor中内容分页问题

Jun 06, 2016 pm 08:42 PM
kindeditor php

项目要求对编辑中添加的内容可以进行分页,所以把Kindeditor中默认的分页插入字符变成了{{page}}。项目开发语言是PHP

例如content的htmlt代码如下

<p style="text-indent:2em;">
    翰林世家一期即将交房,业主们对自己的新家充满了期待。9月20日下午2点翰林学苑爱之家课堂,将诚邀室内资深设计师、家居配饰大师,围绕个性化家居初体验、家居文化等方面,在翰林世家售楼部为业主提供专享服务,希望能为业主的家装提供一些专业的帮助。
</p>
<p style="text-indent:2em;">
    <strong>2014家居流行趋势解码</strong> 
</p>
<p style="text-indent:2em;">
    智能化的卫浴,异彩纷呈的合成材料,环保、原生态的地板,崇尚自然的天然涂料……舒适的生活可以让人身心放松,现在都市生活让人们对家居环境的要求已经不仅仅是舒适、温馨和实用,而是一种对美好家居生活的向往、对高质量家居品位的不懈追求。如同时尚前沿的巴黎时装秀,今年的家居行业也迎来了新的流行趋势:是潮流达人们们偏爱的新东方主义、流行炫色,还是原色原味、清新自然的原木搭配?翰林世家特别邀请了名家解码家居流行密码,为业主带来2014年的流行元素。
</p>
<p style="text-align:center;">
    <img src="/static/imghw/default1.png"  data-src="/static/img/blank.gif"  class="lazy" data-original="http://hzzxw.b0.upaiyun.com/uploads/20140918/541a528890388.jpg"    style="max-width:90%"  style="max-width:90%" alt="" /> 
</p>
<p style="text-align:left;text-indent:2em;">
    <strong></strong><strong>2014翰林世家交房户型设计</strong> 
</p>
<p style="text-align:left;text-indent:2em;">
    二人世界、浪漫满屋,90方现代简约三口之家,奢华舒适、高端典雅四世同堂;中式风格、地中海风格、欧式风格、美式风格……本期爱之家课堂是翰林世家针对即将交房的户型进行的专场设计,精英设计师以平面图、效果图结合实景作品等形式展示,多种设计风格、多个方案帮您找到满意的装修方案。
</p>
<p style="text-align:left;text-indent:2em;">
    {{page}}
</p>
<p style="text-align:left;text-indent:2em;">
    <strong>2014超级空间整理术</strong> 
</p>
<p style="text-align:left;text-indent:2em;">
    <br />
</p>
<p style="text-align:left;text-indent:2em;">
    超级空间整理,顺势而动。床下的大抽屉可以简单收纳,墙壁上的搁板放置书本、唱片,让卧室成为丰富的娱乐放松空间;阳台变花房,环保又美观……对于空间的整理、规划技术,设计师们可是内行,而资深设计更是深得其法。在本次翰林学苑爱之家家装课堂上,资深设计师对翰林世家的业主居住空间作出规划,设计出魔变空间。
</p>
ログイン後にコピー
ログイン後にコピー

我采用PHP的explode分离后发现,那个分页特殊的字符串前后是有html标记,会导致html缺少指定的结束符号、或者开始符号。

对于正则本人也只是略懂,哪位大牛能帮忙给个解决方案不,或者能匹配套{{page}}当前和几位的html标记是更好了。

回复内容:

项目要求对编辑中添加的内容可以进行分页,所以把Kindeditor中默认的分页插入字符变成了{{page}}。项目开发语言是PHP

例如content的htmlt代码如下

<p style="text-indent:2em;">
    翰林世家一期即将交房,业主们对自己的新家充满了期待。9月20日下午2点翰林学苑爱之家课堂,将诚邀室内资深设计师、家居配饰大师,围绕个性化家居初体验、家居文化等方面,在翰林世家售楼部为业主提供专享服务,希望能为业主的家装提供一些专业的帮助。
</p>
<p style="text-indent:2em;">
    <strong>2014家居流行趋势解码</strong> 
</p>
<p style="text-indent:2em;">
    智能化的卫浴,异彩纷呈的合成材料,环保、原生态的地板,崇尚自然的天然涂料……舒适的生活可以让人身心放松,现在都市生活让人们对家居环境的要求已经不仅仅是舒适、温馨和实用,而是一种对美好家居生活的向往、对高质量家居品位的不懈追求。如同时尚前沿的巴黎时装秀,今年的家居行业也迎来了新的流行趋势:是潮流达人们们偏爱的新东方主义、流行炫色,还是原色原味、清新自然的原木搭配?翰林世家特别邀请了名家解码家居流行密码,为业主带来2014年的流行元素。
</p>
<p style="text-align:center;">
    <img src="/static/imghw/default1.png"  data-src="/static/img/blank.gif"  class="lazy" data-original="http://hzzxw.b0.upaiyun.com/uploads/20140918/541a528890388.jpg"    style="max-width:90%"  style="max-width:90%" alt="" /> 
</p>
<p style="text-align:left;text-indent:2em;">
    <strong></strong><strong>2014翰林世家交房户型设计</strong> 
</p>
<p style="text-align:left;text-indent:2em;">
    二人世界、浪漫满屋,90方现代简约三口之家,奢华舒适、高端典雅四世同堂;中式风格、地中海风格、欧式风格、美式风格……本期爱之家课堂是翰林世家针对即将交房的户型进行的专场设计,精英设计师以平面图、效果图结合实景作品等形式展示,多种设计风格、多个方案帮您找到满意的装修方案。
</p>
<p style="text-align:left;text-indent:2em;">
    {{page}}
</p>
<p style="text-align:left;text-indent:2em;">
    <strong>2014超级空间整理术</strong> 
</p>
<p style="text-align:left;text-indent:2em;">
    <br />
</p>
<p style="text-align:left;text-indent:2em;">
    超级空间整理,顺势而动。床下的大抽屉可以简单收纳,墙壁上的搁板放置书本、唱片,让卧室成为丰富的娱乐放松空间;阳台变花房,环保又美观……对于空间的整理、规划技术,设计师们可是内行,而资深设计更是深得其法。在本次翰林学苑爱之家家装课堂上,资深设计师对翰林世家的业主居住空间作出规划,设计出魔变空间。
</p>
ログイン後にコピー
ログイン後にコピー

我采用PHP的explode分离后发现,那个分页特殊的字符串前后是有html标记,会导致html缺少指定的结束符号、或者开始符号。

对于正则本人也只是略懂,哪位大牛能帮忙给个解决方案不,或者能匹配套{{page}}当前和几位的html标记是更好了。

给你一个自动补全的php代码:

/**
* close all open xhtml tags at the end of the string
* @param string $html
* @return string
* @author Milian Wolff
*/
function closetags($html) {
    #put all opened tags into an array
    preg_match_all('#<([a-z]+)(?: .*)?(?<![/|/ ])>#iU', $html, $result);
    $openedtags = $result[1];
    #put all closed tags into an array
    preg_match_all('#</([a-z]+)>#iU', $html, $result);
    $closedtags = $result[1];
    $len_opened = count($openedtags);
    # all tags are closed
    if (count($closedtags) == $len_opened) {
    return $html;
    }
    $openedtags = array_reverse($openedtags);
    # close tags
    for ($i=0; $i < $len_opened; $i++) {
    if (!in_array($openedtags[$i], $closedtags)){
    $html .= '</'.$openedtags[$i].'>';
    } else {
    unset($closedtags[array_search($openedtags[$i], $closedtags)]);
    }
    }
    return $html;
}
ログイン後にコピー

使用这个函数就可以将为未关闭的html标签补全,这样就可以避免显示的问题了~

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

CakePHP のロギング CakePHP のロギング Sep 10, 2024 pm 05:26 PM

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

See all articles