最近用PHP内置函数strp_tag($str)处理HTML表单
strip_tag函数用来处理掉表单中用户输入的HTML和PHP标签
虽然没有具体查看其内置函数底层实现,但猜想这个函数应该可以使用栈这种数据结构来实现
例如:假设$str='abcde<a>abcde</a>';
首先让$str字符串一个字符一个字符的执行入栈操作
遇到第一个‘<’时地址记录器$i记录该标记的地址
当遇到第一个‘>’时,便开始执行出栈操作
出栈到地址记录器$i的位置即可
至此便处理掉了第一个HTML标签
其他标记的处理方式估计也可以采用这种方法实现
另外,addslashes函数(可用于转义用户输入字符串中的特殊字符,即在特殊字符如单引号前加‘\’)的实现估计也可以用栈实现
以上只是本人突然闪现的一些猜想,表示对PHP底层实现很有兴趣,希望技术娴熟后可以早日深入PHP底层的精确实现原理