ソースのタイトルが
This "cool" & "neat" article's title has HTML entities
、のタイトルを作成しています
This "cool" & "neat" article's title has
HTML entities
これを処理するには、プロセスプラグインを作成する必要がありますか?私の移行ymlは次のようになります。
...
source:
...
-
name: title
label: 'Title'
selector: title
...
process:
title: title
...
これを行うには、カスタムプロセスプラグインを定義する必要があるようです- this または this ページでプラグインのプラグインが見つかりません。
PHPという関数があり、htmlspecialchars_decode
は、おそらく使用できるすべてのHTML特殊文字エンティティをデコードします。文字列を受け取り、デコードされた文字列を返します。また、二重引用符と単一引用符の両方を変換するために、ENT_QUOTESフラグを渡す必要があります。
だからあなたはおそらく次のようなことをすることができます:
namespace Drupal\YOUR_MODULE\Plugin\migrate\process;
use Drupal\migrate\MigrateExecutableInterface;
use Drupal\migrate\ProcessPluginBase;
use Drupal\migrate\Row;
/**
* Decode HTML entities.
*
* @MigrateProcessPlugin(
* id = "decode_html_entities"
* )
*/
class DecodeHtmlEntityString extends ProcessPluginBase {
public function transform(string $value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
return htmlspecialchars_decode($value, ENT_QUOTES);
}
}