<?php
$content = '/NameType /FlateDecode
/Contents[4 0 R 42]/Fonts<</F1 41/F2 43>>/NullType
null/StringType(hello))/DateType(D:20130901235555+02\'00\')/XRefType 2 0 R
/NumericType 8/HexaType<0020>/BooleanType false';
if (preg_match('/^\s*\((?P<name>.*)/s', $content, $match)) {
}
$offset=0;
$position=0;
if (preg_match('/^\s*(?P<name>\/[A-Z0-9\._]+)(?P<value>.*)/si', substr($content, 0), $match)) {
$name = ltrim($match['name'], '/');
$value = $match['value'];
$position = strpos($content, $value, $position + strlen($match['name']));
print_r($position);
}
$offset=$position;
//if (preg_match('/^\s*\((?P<name>.*)/s', $value, $match)) {7
$name = $match['name'];
// Find next ')' not escaped.
$cur_start_text = $start_search_end = 0;
while (($cur_start_pos = strpos($name, ')/', $start_search_end)) !== false) {
$cur_extract = substr($name, $cur_start_text, $cur_start_pos - $cur_start_text);
preg_match('/(?P<escape>[\\\]*)$/s', $cur_extract, $match);
if (!(strlen($match['escape']) % 2)) {
break;
}
$start_search_end = $cur_start_pos + 1;
}
// Extract string.
$name = substr($name, 0, $cur_start_pos);
$offset += strpos($content, '(') + $cur_start_pos + 2; // 2 for '(' and ')'
$name = str_replace(
array('\\\\', '\\ ', '\\/', '\(', '\)', '\n', '\r', '\t'),
array('\\', ' ', '/', '(', ')', "\n", "\r", "\t"),
$name
);
print_r($name);
//}
// your code goes here
echo "test";
preferences:
35.75 ms | 402 KiB | 5 Q