私はフォーマットしたいXMLの変数を持っています。変数では、タグ付きのHTMLです。私たちのシステムではpタグが多すぎますので、<p>
をすべて削除して</p>
を削除したいと思います。 pタグの間にはテキストがあります。残しておきたいのは、pタグと/ pタグを削除するだけです。XSLはPタグを置き換えます
<xsl:value-of select="php:functionString('str_replace',$remove,'',normalize-space(php:functionString('html_entity_decode',description)))" />
私はこれを試しましたが、これは1つのpを削除し、1つを閉じるのではありません。
最適なソリューションは何ですか?
ここにテンプレート全体があります。私はそれを実装する方法: あなたの答えに感謝します。私は全く新しいXSLを始めました。私はそれを動作させることができませんでした。ここに私のコードのセクションがあります。私は変数の説明からpタグを削除したいと思います。
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:php="http://php.net/xsl" exclude-result-prefixes="php">
<xsl:output method="xml" indent="yes" encoding="UTF-8" omit-xml-declaration="yes"/>
<xsl:template match="/">
<products>
<xsl:for-each select="objects/object">
<xsl:element name="name"><xsl:value-of select="name"/></xsl:element>
<xsl:element name="url"><xsl:value-of select="product_url"/></xsl:element>
<xsl:element name="description"><xsl:value-of select="description"/> </xsl:element>
</products>
</xsl:template>
</xsl:stylesheet>
'ダブルとテキストノードは、HTMLフラグメントを逃れdescription'ていますか?いずれにせよ、単一のユーザー定義関数を登録し、それを使って作業を行うのはなぜですか? – ThW
入力の例と予想される出力を提供してください - [mcve] –
入力
多くのテキストを参照してください。
多くのテキスト2
期待: 多くのテキスト。 多くのテキスト2 – LarkoJr