我在这里要做的是我正在建立php应用程序,但我希望有选择。
示例:
$options= array(
'elementWrapper'=>'<div class="wrapper"></div>'
);
And passing it like :
$myapp->options($options);
如何将此字符串elementWrapper拆分为2个变量:|
$elementWrapperStart - (<div class="wrapper">) and $elementWrapperEnd - (</div>);
或者在某些情况下这可能不是div
来自动处理这个并将元素包装在这个传递的元素中。
任何帮助将不胜感激。 感谢
答案 0 :(得分:1)
另一个阵列......
$options= array(
'elementWrapper' => array(
'start'=> '<div class="wrapper">',
'end' => '</div>'
)
);
可访问$options['elementWrapper']['start']
和$options['elementWrapper']['end']
:
$elementWrapperStart = $options['elementWrapper']['start'];
$elementWrapperEnd = $options['elementWrapper']['end'];
答案 1 :(得分:0)
正如@bwoebi已经指出你最有可能使用DOMDocument,因为在解析HTML字符串时使用split或正则表达式非常容易出错。
// I´m just assuming your class looks something like this:
class MyApp {
private $options;
public function options($options) {
if (isset($options['elementWrapper'])) {
$dom = new DomDocument;
$dom->loadHtml($options['elementWrapper']);
$options['elementWrapper'] = $dom->documentElement;
}
$this->options = $options;
}
}
答案 2 :(得分:-1)
为什么不传递一个两元素数组:
$myapp->options(array(
array(
'start' => '<div class="wrapper">',
'end' => '</div>'
)
));