dneustadt/html-tag-replace

替换并增强标记标签和/或属性

1.0.0 2017-12-30 17:35 UTC

This package is auto-updated.

Last update: 2024-09-23 02:19:14 UTC


README

Scrutinizer Travis CI

用于替换和增强HTML标签及其属性的辅助工具。

特性

  • 添加、预添加和切换标签。
  • 向标签添加自定义属性
  • 切换、克隆或删除属性。

使用方法

创建一个 HtmlTagReplace 的实例,并传递现有的标记。

使用该实例的 replaceTag 方法,并传递以下参数

  • search 要替换的标签名称
  • replace 新标签名称
  • closingTag (bool, 默认: false) 指定搜索的标签是否有闭合标签
  • argumentsReplace (array) 要替换的属性的键值对 (search => replace)。多维的 (search => array) 将值克隆到多个参数中。
  • arguments 注入的自定义参数
  • append 注入到目标标签之后
  • prepend 注入到目标标签之前

您可以调用 compress 方法来压缩标记。

最后,通过调用 getMarkup 来检索修改后的标记

示例

$markup = '
    <img src="#" alt="foo">
    <img src="#">
    <div id="foo">bar</div>
    <em class="foo">bar</em>
    <input type="text" name="foo">
';
  
$replacer = new HtmlTagReplace($markup);
  
echo $replacer->replaceTag(
        'img',
        'a',
        false,
        ['src' => 'href', 'alt' => false],
        'title="show image"',
        'show image</a>'
    )->replaceTag(
        'div',
        'article',
        true,
        ['id' => 'class'],
        null,
        null,
        '<hr>'
    )->replaceTag(
        'em',
        'strong',
        true
    )->replaceTag(
        'input',
        'input',
        false,
        ['name' => ['name', 'id']]
    )->compress()->getMarkup();

结果将是(为了可读性未压缩)

<a title="show image" href="#">show image</a>
<a title="show image" href="#">show image</a>
<hr><article class="foo">bar</article>
<strong class="foo">bar</strong>
<input type="text" name="foo" id="foo">

待办事项

  • 为定位标签添加更多过滤选项
  • 优化过滤和替换参数的方法
  • 内容操作
  • 同步替换