Welcome To Quran Tools - warwickfoster/qurantools GitHub Wiki

File: app/library/verse_parse.php

Purpose

The code snippet you provided is part of a function that parses and validates a reference to a range of verses in a Bible passage. The function takes a reference string as input and performs the following tasks:

  • Determines the chapter and range of verses.
  • Validates the reference to ensure it is within the bounds of the Bible.
  • Returns an error message if the reference is invalid.

How it works

The function follows these steps to parse and validate the reference:

  1. Split the reference into parts The reference string is split into parts using regular expressions to separate the chapter, verses, and any modifiers (e.g., "f", "ff", "f-").
  2. Validate the chapter The function checks if the chapter is a valid number.
  3. Validate the verses The function iterates through the verses and performs the following checks:
    • Each verse is a valid number.
    • The range of verses is valid (from verse to verse).
    • The range of verses is within the bounds of the chapter.
  4. Handle modifiers The function handles modifiers such as "f", "ff", and "f-" to adjust the range of verses accordingly.
  5. Error handling If any of the validation checks fail, an error message is returned.

Example Usage

$reference = "Psalm 23:1-4";
validate_reference($reference);

Output

true

Note

  • The function assumes that the Bible has 66 books.
  • The function does not account for any specific Bible version or translation.
  • The error messages can be customized as needed.

Additional Features

  • The function can be extended to support more complex reference formats, such as references to multiple verses or verses within a specific range.
  • The function can be integrated with a database of Bible verses to retrieve the actual text of the verses.