管道php功能

时间:2012-02-24 03:15:33

标签: php bash unix command-line

我想在bash脚本中使用php的strip标签。我想我可以抓住我想要使用的html文件并使用该输入并将其传输到php中,然后将其传输到其他东西(sed)。那可能吗?我不确定如何将file.html的输出传递给strip_tag函数...也许把它全部放在一个变量中?我希望以下内容只保留锚标签...在下面我为strip_tags字符串添加了虚拟文本,因为我不知道如何管道file.html:

cat file.html | php strip_tags("<p><a href='#'>hi</a></p>",'<a>') > removed_tags.html

2 个答案:

答案 0 :(得分:1)

您可以使用流URI php://stdin从PHP中读取STDIN。至于执行它,您还需要引用PHP代码并使用-r选项,以及echo结果。所以这是固定的脚本:

cat file.html | php -r "echo strip_tags(file_get_contents('php://stdin'), '<a>');" > removed_tags.html

答案 1 :(得分:0)

从PHP中的stdin读取并编写没有文件的php脚本是可能的,但这比编写像

这样的文件更麻烦
<?php echo strip_tags(file_get_contents($argv[1]), '<a>');

...

$ php that-file.php file.html > removed_tags.html