То, что я пытаюсь сделать здесь, это то, что я создаю php-приложение, но я хочу иметь варианты.
Пример :
$options= array(
'elementWrapper'=>'<div class="wrapper"></div>'
);
And passing it like :
$myapp->options($options);
Как разделить эту строку elementWrapper как две переменные: |
$elementWrapperStart - (<div class="wrapper">) and $elementWrapperEnd - (</div>);
Или, может быть, это не будет div
в некоторых случаях, чтобы обработать это автоматически и обернуть элементы внутри этого переданного элемента.
Любая помощь будет оценена.
Спасибо
Еще один массив …
$options= array(
'elementWrapper' => array(
'start'=> '<div class="wrapper">',
'end' => '</div>'
)
);
Доступно как $options['elementWrapper']['start']
а также $options['elementWrapper']['end']
:
$elementWrapperStart = $options['elementWrapper']['start'];
$elementWrapperEnd = $options['elementWrapper']['end'];
Как уже указывал @bwoebi, вам, скорее всего, стоит использовать DOMDocument поскольку использование синтаксических или регулярных выражений очень подвержено ошибкам при разборе строк HTML.
// 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;
}
}
Почему бы просто не передать массив из двух элементов:
$myapp->options(array(
array(
'start' => '<div class="wrapper">',
'end' => '</div>'
)
));