Mercurial > hg > extraction-interface
comparison develop/models/extractapp.php @ 12:e82ca7375e93
Integration with LocalGazetteerService (LGService), getting text from LGService and saving text to LGService. Adjust the control flow (controller).
| author | Zoe Hong <zhong@mpiwg-berlin.mpg.de> |
|---|---|
| date | Mon, 16 Feb 2015 16:51:39 +0100 |
| parents | 3d6fba07bfbd |
| children | cc36a20a68ab |
comparison
equal
deleted
inserted
replaced
| 11:3d6fba07bfbd | 12:e82ca7375e93 |
|---|---|
| 6 | 6 |
| 7 public function Index() { | 7 public function Index() { |
| 8 return array("Index Value 1", "Value 2", "Value 3"); | 8 return array("Index Value 1", "Value 2", "Value 3"); |
| 9 } | 9 } |
| 10 | 10 |
| 11 protected $section_id, $data_path; | 11 protected $section_id, $data_path, $file_id, $branch_id, $user_id, $lg_tex; |
| 12 | |
| 13 | 12 |
| 14 private function Initialize($_urlvalues) { | 13 private function Initialize($_urlvalues) { |
| 15 $this->SetSectionId($_urlvalues); | 14 $this->SetSectionId($_urlvalues); |
| 16 | 15 |
| 17 } | 16 } |
| 18 | 17 |
| 18 public function GetTextFromFileId($_postdata) { | |
| 19 $file_id = $_postdata['fileId']; | |
| 20 $branch_id = $_postdata['branchId']; | |
| 21 $section_id = $_postdata['sectionId']; | |
| 22 | |
| 23 $this->branch_id = $branch_id; | |
| 24 $this->file_id = $file_id; | |
| 25 $this->user_id = $_postdata['userId']; | |
| 26 $this->section_id = $section_id; | |
| 27 | |
| 28 // get from URL with file_id | |
| 29 $lg_text_url = $this->get_text_from_fileId_url.$file_id; | |
| 30 $lg_text = file_get_contents($lg_text_url); | |
| 31 | |
| 32 $stringInput = $lg_text; | |
| 33 $stringInput = preg_replace("/ /u", "○", $stringInput); | |
| 34 $stringInput = preg_replace("/\n/u", "<br>", $stringInput); | |
| 35 $stringInput = preg_replace("/【(.*?)】/u", "【<a href=\"review_index_xml_images.php?books_id=".$bookId."&pages=\\1&entry=0\" target=\"_bookImg\">\\1</a>】", $stringInput); | |
| 36 $lg_text = $stringInput; | |
| 37 | |
| 38 $this->lg_text = $lg_text; | |
| 39 | |
| 40 } | |
| 41 | |
| 42 public function GetTextFromSectionId($_postdata) { | |
| 43 | |
| 44 $section_id = $_postdata['sectionId']; | |
| 45 $this->section_id = $section_id; | |
| 46 $this->user_id = $_postdata['userId']; | |
| 47 | |
| 48 // get from URL with file_id | |
| 49 $lg_text_url = $this->get_text_from_sectionId_url.$section_id; | |
| 50 $lg_text = file_get_contents($lg_text_url); | |
| 51 | |
| 52 $stringInput = $lg_text; | |
| 53 $stringInput = preg_replace("/<(.*?)>/u", "○", $stringInput); | |
| 54 $stringInput = preg_replace("/ /u", "○", $stringInput); | |
| 55 $stringInput = preg_replace("/\n/u", "<br>", $stringInput); | |
| 56 $stringInput = preg_replace("/【(.*?)】/u", "【<a href=\"review_index_xml_images.php?books_id=".$bookId."&pages=\\1&entry=0\" target=\"_bookImg\">\\1</a>】", $stringInput); | |
| 57 $lg_text = $stringInput; | |
| 58 | |
| 59 $this->lg_text = $lg_text; | |
| 60 } | |
| 61 | |
| 62 public function GetTextFromLocal($_id){ | |
| 63 $this->section_id = $_id; | |
| 64 echo "DEBUG: from my local"."<br>"; | |
| 65 $this->lg_text = $this->GetSectionContent(); | |
| 66 | |
| 67 } | |
| 68 | |
| 69 public function GetInfoFromPreviousPage($_postdata) { | |
| 70 | |
| 71 if ($_postdata['fileId']) { | |
| 72 $this->file_id = $_postdata['fileId']; | |
| 73 } | |
| 74 if ($_postdata['sectionId']) { | |
| 75 $this->section_id = $_postdata['sectionId']; | |
| 76 } | |
| 77 if ($_postdata['text']) { | |
| 78 $this->lg_text = $_postdata['text']; | |
| 79 } | |
| 80 if ($_postdata['branchId']) { | |
| 81 $this->branch_id = $_postdata['branchId']; | |
| 82 } | |
| 83 if ($_postdata['userId']) { | |
| 84 $this->user_id = $_postdata['userId']; | |
| 85 } | |
| 86 | |
| 87 | |
| 88 } | |
| 89 public function InitData($_postdata) { | |
| 90 $file_id = $_postdata['fileId']; | |
| 91 $branch_id = $_postdata['branchId']; | |
| 92 $section_id = $_postdata['sectionId']; | |
| 93 | |
| 94 $this->branch_id = $branch_id; | |
| 95 $this->file_id = $file_id; | |
| 96 $this->user_id = $_postdata['userId']; | |
| 97 $this->section_id = $section_id; | |
| 98 | |
| 99 if ($file_id != 0 && $branch_id != 0) { | |
| 100 // get from URL with file_id | |
| 101 $lg_text_url = $this->get_text_from_fileId_url.$file_id; | |
| 102 } else if ($section_id != 0) { | |
| 103 // get from URL with section_id | |
| 104 $lg_text_url = $this->get_text_from_sectionId_url.$section_id; | |
| 105 } else { | |
| 106 echo "wrong url!!"; | |
| 107 return; | |
| 108 } | |
| 109 | |
| 110 | |
| 111 $lg_text = file_get_contents($lg_text_url); | |
| 112 | |
| 113 /* | |
| 114 $stringInput = preg_replace("/ /u", "○", $stringInput); | |
| 115 $stringInput = preg_replace("/\n/u", "<br>", $stringInput); | |
| 116 $stringInput = preg_replace("/【(.*?)】/u", "【<a href=\"review_index_xml_images.php?books_id=".$bookId."&pages=\\1&entry=0\" target=\"_bookImg\">\\1</a>】", $stringInput); | |
| 117 */ | |
| 118 | |
| 119 // the text is from database | |
| 120 $stringInput = $lg_text; | |
| 121 $stringInput = preg_replace("/<(.*?)>/u", "○", $stringInput); | |
| 122 $stringInput = preg_replace("/ /u", "○", $stringInput); | |
| 123 $stringInput = preg_replace("/\n/u", "<br>", $stringInput); | |
| 124 $stringInput = preg_replace("/【(.*?)】/u", "【<a href=\"review_index_xml_images.php?books_id=".$bookId."&pages=\\1&entry=0\" target=\"_bookImg\">\\1</a>】", $stringInput); | |
| 125 $lg_text = $stringInput; | |
| 126 | |
| 127 $this->lg_text = $lg_text; | |
| 128 | |
| 129 | |
| 130 } | |
| 131 | |
| 19 // === for tagging === | 132 // === for tagging === |
| 20 public function StartTagging($urlvalues) { | 133 public function StartTagging() { |
| 21 | 134 |
| 22 $this->Initialize($urlvalues); | 135 // $this->Initialize($urlvalues); |
| 23 | 136 |
| 24 $section_id = $this->GetSectionId(); | 137 $section_id = $this->section_id; |
| 25 | 138 $stringInput = $this->lg_text; |
| 26 $stringInput = $this->GetSectionContent(); | 139 |
| 27 | 140 |
| 28 //$taglistArray = $this->GetTaglistArray(); | 141 //$taglistArray = $this->GetTaglistArray(); |
| 29 //for GetTaglistByTopicID: | 142 //for GetTaglistByTopicID: |
| 30 | |
| 31 $taglistArray = $this->GetTaglistByTopicID($this->GetTopic()); | 143 $taglistArray = $this->GetTaglistByTopicID($this->GetTopic()); |
| 32 | 144 // topic list |
| 33 // topic list? | |
| 34 $topiclistArray = $this->GetTopiclistArray(); | 145 $topiclistArray = $this->GetTopiclistArray(); |
| 35 | 146 |
| 36 | 147 |
| 37 $wordlistArray = $this->GetWordlistArray(); | 148 $wordlistArray = $this->GetWordlistArray(); |
| 38 | 149 |
| 43 $data['section_id'] = $section_id; | 154 $data['section_id'] = $section_id; |
| 44 $data['topiclistArray'] = $topiclistArray; | 155 $data['topiclistArray'] = $topiclistArray; |
| 45 $data['default_topic_id'] = $this->GetTopic(); | 156 $data['default_topic_id'] = $this->GetTopic(); |
| 46 $data['topic_tag'] = $this->GetTopicTag($this->GetTopic()); | 157 $data['topic_tag'] = $this->GetTopicTag($this->GetTopic()); |
| 47 | 158 |
| 159 $data['info'] = array('file_id'=>$this->file_id, 'user_id'=>$this->user_id, 'branch_id'=>$this->branch_id, 'section_id'=>$this->section_id); | |
| 160 | |
| 48 return $data; | 161 return $data; |
| 49 | 162 |
| 50 } | 163 } |
| 51 | 164 |
| 52 public function SaveFullText($postdata) { | 165 public function SaveFullText($postdata) { |
| 71 file_put_contents("data/parsing_files/".$postdata['filename'].".txt", $require); | 184 file_put_contents("data/parsing_files/".$postdata['filename'].".txt", $require); |
| 72 } | 185 } |
| 73 | 186 |
| 74 } | 187 } |
| 75 | 188 |
| 189 public function UpdateInfoByResonseFromLGService($response) { | |
| 190 | |
| 191 $response_file = $response["file"]; | |
| 192 $response_branch = $response["branch"]; | |
| 193 | |
| 194 $this->file_id = (string)$response_file["id"]; // should updated | |
| 195 echo "file_id: ".$this->file_id; | |
| 196 echo "<br>"; | |
| 197 $this->branch_id = (string)$response_branch["id"]; | |
| 198 echo "branch_id: ".$this->branch_id; | |
| 199 echo "<br>"; | |
| 200 | |
| 201 } | |
| 202 public function SaveFullTextToLGService($_postdata) { | |
| 203 // save tagged text (full text) by Jorge's API to lg service | |
| 204 | |
| 205 // -------- | |
| 206 // saving in my local machine in developing phrase | |
| 207 if ($_postdata['text']){ | |
| 208 $date = date('Y_m_d_H_i_s', time()); | |
| 209 if ( file_exists("data/parsing_files/".$_postdata['sectionId'].".txt") ) { | |
| 210 $oldFile = file_get_contents("data/parsing_files/".$_postdata['sectionId'].".txt"); | |
| 211 file_put_contents("data/parsing_files/".$_postdata['sectionId']."_".$date.".txt", $oldFile); | |
| 212 } | |
| 213 | |
| 214 if (get_magic_quotes_gpc()) { | |
| 215 $require = stripslashes($_postdata['text']); | |
| 216 } else { | |
| 217 $require = $_postdata['text']; | |
| 218 } | |
| 219 | |
| 220 $require = preg_replace("/【<a(.*?)>(.*?)<\/a>】/u", "【\\2】", $require); | |
| 221 $require = preg_replace('/&/u', "&", $require); | |
| 222 $require = preg_replace("/○/u", " ", $require); | |
| 223 $require = preg_replace("/<br>/u", "\n", $require); | |
| 224 $require = preg_replace("/<br>/u", "\n", $require); | |
| 225 file_put_contents("data/parsing_files/".$_postdata['sectionId'].".txt", $require); | |
| 226 } | |
| 227 | |
| 228 echo getcwd()."<br>"; | |
| 229 // ------ | |
| 230 | |
| 231 | |
| 232 if ($_postdata['branchId'] != 0) { | |
| 233 // exiting branch case | |
| 234 $postfields = array( | |
| 235 //"text" => $_postdata['text'], | |
| 236 "text" => $require, | |
| 237 "branchId" => $_postdata['branchId'], | |
| 238 "userId" => $_postdata['userId'], | |
| 239 "userPreviousFileId" => $_postdata['fileId'], | |
| 240 ); | |
| 241 $save_url = $this->save_to_LGService_url; | |
| 242 | |
| 243 } else { | |
| 244 // new branch case | |
| 245 echo "saveNew!"; | |
| 246 $postfields = array( | |
| 247 //"text" => $_postdata['text'], | |
| 248 "text" => $require, | |
| 249 "sectionId" => $_postdata['sectionId'], | |
| 250 //"userId" => $_postdata['userId'], | |
| 251 // TODO: change userId when we can query by sectionId from LGService using search | |
| 252 "userId" => "12", | |
| 253 // "label" => $_postdata['label'], | |
| 254 // TODO: ask user for lable | |
| 255 "label" => "label for section ".$_postdata['sectionId'], | |
| 256 ); | |
| 257 $save_url = $this->save_new_to_LGService_url; | |
| 258 } | |
| 259 | |
| 260 | |
| 261 | |
| 262 | |
| 263 // set up the curl resource | |
| 264 $ch = curl_init(); | |
| 265 curl_setopt($ch, CURLOPT_URL, $save_url); | |
| 266 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); | |
| 267 curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); | |
| 268 curl_setopt($ch, CURLOPT_POST, true); | |
| 269 curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields); | |
| 270 //curl_setopt($ch, CURLOPT_HEADER, true); | |
| 271 curl_setopt($ch, CURLOPT_HTTPHEADER, array( | |
| 272 'Content-type: multipart/form-data;charset=utf-8' | |
| 273 )); | |
| 274 | |
| 275 // execute the request | |
| 276 | |
| 277 $output = curl_exec($ch); | |
| 278 | |
| 279 // output the profile information - includes the header | |
| 280 //echo($output) . PHP_EOL; | |
| 281 | |
| 282 // close curl resource to free up system resources | |
| 283 curl_close($ch); | |
| 284 | |
| 285 $response = json_decode($output, true); | |
| 286 return $response; | |
| 287 | |
| 288 } | |
| 76 | 289 |
| 77 // === for export table === | 290 // === for export table === |
| 78 public function ExportTable($urlvalues, $postdata) { | 291 public function ExportTable($urlvalues, $postdata) { |
| 79 $this->Initialize($urlvalues); | 292 // $this->Initialize($urlvalues); |
| 80 $content = $postdata['content']; | 293 $content = $postdata['content']; |
| 81 $topic = $postdata['topic']; | 294 $topic = $postdata['topic']; |
| 82 | 295 |
| 83 // outputTableArray: | 296 // outputTableArray: |
| 84 $section_id = $this->GetSectionId(); | 297 // $section_id = $this->GetSectionId(); |
| 298 $section_id = $this->section_id; | |
| 299 if (!$section_id) { | |
| 300 //$this->Initialize($urlvalues); | |
| 301 $section_id = $this->GetSectionId(); | |
| 302 } | |
| 85 | 303 |
| 86 $section_info = $this->GetSectionInfo(); | 304 $section_info = $this->GetSectionInfo(); |
| 87 | 305 |
| 88 $sectionName = $section_info['sectionName']; | 306 $sectionName = $section_info['sectionName']; |
| 89 $bookId = $section_info['bookId']; | 307 $bookId = $section_info['bookId']; |
| 193 | 411 |
| 194 } | 412 } |
| 195 | 413 |
| 196 // === for manage tag list === | 414 // === for manage tag list === |
| 197 public function EditTaglist($urlvalues) { | 415 public function EditTaglist($urlvalues) { |
| 198 $this->Initialize($urlvalues); | 416 // $this->Initialize($urlvalues); |
| 199 $result = $this->GetTaglist(); | 417 $result = $this->GetTaglist(); |
| 200 $taglistArray = array(); | 418 $taglistArray = array(); |
| 201 while ($row = mysql_fetch_assoc($result)) { | 419 while ($row = mysql_fetch_assoc($result)) { |
| 202 $taglistArray[$row['id']] = array($row['name'], $row['tag'], $row['color']); | 420 $taglistArray[$row['id']] = array($row['name'], $row['tag'], $row['color']); |
| 203 } | 421 } |
| 260 } | 478 } |
| 261 | 479 |
| 262 } | 480 } |
| 263 | 481 |
| 264 // === for config topic === | 482 // === for config topic === |
| 265 public function ConfigTagsInTopic($urlvalues, $postdata) { | 483 public function ConfigTagsInTopic($postdata) { |
| 266 | 484 |
| 485 $query = "SELECT taglist.*, topic_tag_relation.topic_id FROM taglist LEFT JOIN topic_tag_relation ON taglist.id = topic_tag_relation.tag_id ORDER BY `topic_id`"; | |
| 486 $result = mysql_query($query); | |
| 487 if (!$result) { | |
| 488 return json_encode("Failed during selecting/joining taglist and topic_tag_relation table."); | |
| 489 } | |
| 490 $taglistArray = array(); | |
| 491 while ($row = mysql_fetch_assoc($result)) { | |
| 492 array_push($taglistArray, array('id'=>$row['id'],'name'=>$row['name'], 'tag'=>$row['tag'], 'color'=>$row['color'], 'topic_id'=>$row['topic_id']) ); | |
| 493 } | |
| 494 | |
| 495 $topic = $postdata['topic']; | |
| 496 $result = $this->GetTopicByID($topic); | |
| 497 $row = mysql_fetch_assoc($result); | |
| 498 $topic_name = $row['name']; | |
| 499 | |
| 500 $data = array(); | |
| 501 $data['taglistArray'] = $taglistArray; | |
| 502 $data['topic'] = $topic; | |
| 503 $data['topic_name'] = $topic_name; | |
| 504 | |
| 505 return $data; | |
| 267 } | 506 } |
| 268 | 507 |
| 269 private function GetTaglistByTopicID($topic_id) { | 508 private function GetTaglistByTopicID($topic_id) { |
| 270 $taglistArray = array(); | 509 $taglistArray = array(); |
| 271 // select taglist ids from topic_tag_relation table | 510 // select taglist ids from topic_tag_relation table |
| 324 | 563 |
| 325 // =========================== | 564 // =========================== |
| 326 | 565 |
| 327 // === for manage wordlist === | 566 // === for manage wordlist === |
| 328 public function EditWordlist($urlvalues) { | 567 public function EditWordlist($urlvalues) { |
| 329 $this->Initialize($urlvalues); | 568 //$this->Initialize($urlvalues); |
| 330 $result = $this->GetWordlist(); | 569 $result = $this->GetWordlist(); |
| 331 $wordlistArray = array(); | 570 $wordlistArray = array(); |
| 332 while ($row = mysql_fetch_assoc($result)) { | 571 while ($row = mysql_fetch_assoc($result)) { |
| 333 $wordlistArray[$row['id']] = $row['name']; | 572 $wordlistArray[$row['id']] = $row['name']; |
| 334 } | 573 } |
| 403 | 642 |
| 404 public function sortFunction($a,$b) { | 643 public function sortFunction($a,$b) { |
| 405 return strlen($b)-strlen($a); | 644 return strlen($b)-strlen($a); |
| 406 } | 645 } |
| 407 | 646 |
| 408 | 647 // TODO: delete this |
| 409 private function SetSectionId($_urlvalues) { | 648 private function SetSectionId($_urlvalues) { |
| 410 // TODO: maybe get user info also | 649 // TODO: maybe get user info also |
| 411 // get book id from url | 650 // get book id from url |
| 412 if ($_urlvalues['id'] != "") { | 651 if ($_urlvalues['id'] != "") { |
| 413 $section_id = $_urlvalues['id']; | 652 $section_id = $_urlvalues['id']; |
| 423 $this->section_id = $section_id; | 662 $this->section_id = $section_id; |
| 424 | 663 |
| 425 } | 664 } |
| 426 | 665 |
| 427 private function GetSectionId() { | 666 private function GetSectionId() { |
| 428 if ($this->section_id) { | 667 |
| 668 if (is_numeric($this->section_id)) { | |
| 429 return $this->section_id; | 669 return $this->section_id; |
| 430 } else { | 670 } else { |
| 431 return json_encode("Error: No section id"); | 671 return json_encode("Error: No section id"); |
| 432 } | 672 } |
| 433 } | 673 } |
| 452 $data['bookId'] = $bookId; | 692 $data['bookId'] = $bookId; |
| 453 $data['startPage'] = $startPage; | 693 $data['startPage'] = $startPage; |
| 454 $data['endPage'] = $endPage; | 694 $data['endPage'] = $endPage; |
| 455 $data['sectionName'] = $sectionName; | 695 $data['sectionName'] = $sectionName; |
| 456 | 696 |
| 697 | |
| 457 return $data; | 698 return $data; |
| 458 } | 699 } |
| 459 | 700 |
| 460 private function GetSectionContent() { | 701 private function GetSectionContent() { |
| 461 $section_id = $this->GetSectionId(); | 702 $section_id = $this->GetSectionId(); |
| 462 $section_info = $this->GetSectionInfo(); | 703 $section_info = $this->GetSectionInfo(); |
| 463 | 704 |
| 705 var_dump($section_id); | |
| 706 var_dump($section_info); | |
| 707 | |
| 464 $bookId = $section_info['bookId']; | 708 $bookId = $section_info['bookId']; |
| 465 $startPage = $section_info['startPage']; | 709 $startPage = $section_info['startPage']; |
| 466 $endPage = $section_id['endPage']; | 710 $endPage = $section_info['endPage']; |
| 467 | |
| 468 | 711 |
| 469 $contentString=""; | 712 $contentString=""; |
| 470 $data_path = $this->GetDataPath(); | 713 $data_path = $this->GetDataPath(); |
| 471 if ( file_exists($data_path."parsing_files/".$section_id.".txt") ) { | 714 if ( file_exists($data_path."parsing_files/".$section_id.".txt") ) { |
| 472 $contentString=file_get_contents($data_path."parsing_files/".$section_id.".txt"); | 715 $contentString=file_get_contents($data_path."parsing_files/".$section_id.".txt"); |
| 473 $stringInput = $contentString; | 716 $stringInput = $contentString; |
| 717 | |
| 718 // if the text is from file system | |
| 474 $stringInput = preg_replace("/ /u", "○", $stringInput); | 719 $stringInput = preg_replace("/ /u", "○", $stringInput); |
| 475 $stringInput = preg_replace("/\n/u", "<br>", $stringInput); | 720 $stringInput = preg_replace("/\n/u", "<br>", $stringInput); |
| 476 $stringInput = preg_replace("/【(.*?)】/u", "【<a href=\"review_index_xml_images.php?books_id=".$bookId."&pages=\\1&entry=0\" target=\"_bookImg\">\\1</a>】", $stringInput); | 721 $stringInput = preg_replace("/【(.*?)】/u", "【<a href=\"review_index_xml_images.php?books_id=".$bookId."&pages=\\1&entry=0\" target=\"_bookImg\">\\1</a>】", $stringInput); |
| 477 } else { | 722 } else { |
| 478 $query = sprintf("SELECT `content`, `line`, `books_id` FROM `contents` WHERE `books_id`=\"%s\" AND `line`>=%d AND `line`<=%d", $bookId, $startPage, $endPage); | 723 $query = sprintf("SELECT `content`, `line`, `books_id` FROM `contents` WHERE `books_id`=\"%s\" AND `line`>=%d AND `line`<=%d", $bookId, $startPage, $endPage); |
| 479 $result = mysql_query($query); | 724 $result = mysql_query($query); |
| 725 if (!$result) { | |
| 726 return json_encode("Failed during selecting content table."); | |
| 727 } | |
| 480 while ($row = mysql_fetch_assoc($result)) { | 728 while ($row = mysql_fetch_assoc($result)) { |
| 481 $contentString.="【".$row['line']."】".$row['content']."\n"; | 729 $contentString.="【".$row['line']."】".$row['content']."\n"; |
| 482 } | 730 } |
| 731 | |
| 732 // the text is from database | |
| 483 $stringInput = $contentString; | 733 $stringInput = $contentString; |
| 484 $stringInput = preg_replace("/<(.*?)>/u", "○", $stringInput); | 734 $stringInput = preg_replace("/<(.*?)>/u", "○", $stringInput); |
| 485 $stringInput = preg_replace("/ /u", "○", $stringInput); | 735 $stringInput = preg_replace("/ /u", "○", $stringInput); |
| 486 $stringInput = preg_replace("/\n/u", "<br>", $stringInput); | 736 $stringInput = preg_replace("/\n/u", "<br>", $stringInput); |
| 487 $stringInput = preg_replace("/【(.*?)】/u", "【<a href=\"review_index_xml_images.php?books_id=".$bookId."&pages=\\1&entry=0\" target=\"_bookImg\">\\1</a>】", $stringInput); | 737 $stringInput = preg_replace("/【(.*?)】/u", "【<a href=\"review_index_xml_images.php?books_id=".$bookId."&pages=\\1&entry=0\" target=\"_bookImg\">\\1</a>】", $stringInput); |
