Я создаю эту строку:
$s = '<http://example.org/data/'.$q.'>';
где $q - параметр запроса. Проблема в том, что когда я повторяю или print_r это я ничего не получаю в результате. Также, когда я использую var_dump, я получаю только string(34) в результате. Я использовал несколько методов, таких как:
$q
print_r
var_dump
string(34)
$s = "<http://example.org/data/$q>";
или
$s = "<http://example.org/data/" . $q . ">";
Но я получаю тот же результат. Та же проблема возникает, когда я повторяю это string:
string
$query = "PREFIX sosa: <http://www.w3.org/ns/sosa/> PREFIX ex: <http://example.org/data/> PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> SELECT ?o WHERE {" . $s . "geo:isLocationOf ?o}";
где я получаю:
PREFIX sosa: PREFIX ex: PREFIX geo: SELECT ?o WHERE {geo:isLocationOf ?o}
Возможно, проблема с использованием URL в strings.
strings
Пожалуйста, попробуйте это. Надеюсь, это поможет.
$q = "test-message"; $s = htmlspecialchars("< http://www.google.com/". $q ."> "); $query = "PREFIX sosa: < http://www.w3.org/ns/sosa/> PREFIX ex: < http://example.org/data/> PREFIX geo: < http://www.w3.org/2003/01/geo/wgs84_pos#> SELECT ?o WHERE {" . $s . "geo:isLocationOf ?o}"; echo $query;
использование echo htmlspecialchars($s);
echo htmlspecialchars($s);
Преобразование предопределенных символов
"<" (меньше чем) и ">" (больше чем)
к сущностям HTML с помощью функции htmlspecialchars.
htmlspecialchars
Для дополнительной проверки w3c htmlspecialchars