Я довольно новичок в PHP, и я застрял здесь, пишу этот простой скрипт; в конечном итоге я пытаюсь просмотреть содержимое строки и найти позиции всех вхождений, перечисленных в моем массиве $definitions
, затем отобразить эти позиции в отдельном массиве и вернуть его ...
довольно просто, но я не уверен, где возникает проблема, когда я print_r
на массиве в разных частях кода, думая, что это проблема области, я продолжаю видеть, что значение ключа массива NULL
попытаться получить доступ к значению массива, я уверен, существует для данного ключа, я также ничего не получаю; любая помощь будет оценена ...
спасибо!
<?php
class html2DokuWiki {
function definition_map($content){
$definitions = array("<title" => " ","<h" => array("=", 6),"<p" => "\n\n","<b" => "**","<strong" => "**","<em" => "//","<u" => "__","<img" => " ","<a" => " ","<ul" => " ","<ol" => "*","<li" => "-","<dl" => " ","<dt" => " ","<dd" => " ");
$element_pos = array();
foreach($definitions as $html_element){
$offset = 0;
$counter = 0;
$element_pos[(string)$html_element] = array(); //ask phil why do i need to cast in order to use the object?
while($offset = strpos($content, $html_element, $offset + 1)){
$element_pos[(string)$html_element][] = $offset;
};
};
//print_r($element_pos);
echo $element_pos["<p"][0];
return $element_pos;}
function run($page){
return $this->definition_map($page);}
};
$debug = new html2DokuWiki();
$url = "http://www.unixwiz.net/techtips/sql-injection.html";
$content = file_get_contents($url);
//echo $content;
//print_r($debug->run($content));
$test = $debug->run($content);
echo "<p> THIS:".$test["<p"][0]."</p>";
//print_r($test);
?>